CN102739427B - 网络百科用户管理***及其制作方法、应用的访问方法 - Google Patents

网络百科用户管理***及其制作方法、应用的访问方法 Download PDF

Info

Publication number
CN102739427B
CN102739427B CN201110095011.9A CN201110095011A CN102739427B CN 102739427 B CN102739427 B CN 102739427B CN 201110095011 A CN201110095011 A CN 201110095011A CN 102739427 B CN102739427 B CN 102739427B
Authority
CN
China
Prior art keywords
encyclopaedia
application
role
user
interface unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110095011.9A
Other languages
English (en)
Other versions
CN102739427A (zh
Inventor
王清明
陈浩然
左莉
侯建勋
张明主
韦晨曦
王京津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201110095011.9A priority Critical patent/CN102739427B/zh
Priority to PCT/CN2012/073669 priority patent/WO2012139482A1/zh
Publication of CN102739427A publication Critical patent/CN102739427A/zh
Application granted granted Critical
Publication of CN102739427B publication Critical patent/CN102739427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种涉及网络百科用户管理***及其制作方法、应用的访问方法。所述***包括:应用管理模块,所述应用管理模块包括:ID存储单元,存储有为所述每个百科应用分配注册的唯一标识ID;通用权限管理单元,其抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑,为用户在对应ID的所述百科应用里分配成员角色及其权限;第一交互接口单元,实现与所述用户中心模块之间的交互;第二交互接口单元,实现与各个百科应用之间的交互。本发明能够在尽可能少改动现有百科应用的前提下在各个异构***百科应用间实现用户角色、权限管理,方便用户使用各种百科应用。

Description

网络百科用户管理***及其制作方法、应用的访问方法
技术领域
本发明涉及网络百科技术领域,特别是涉及网络百科用户管理***及其制作方法、应用的访问方法。
背景技术
随着信息技术的发展,百科全书已经由传统的纸质版本扩展到网络上。利用网络的广泛参与特点,更多信息、更快更新、能满足更多需求的百科全书的有可能由不断迅猛发展的互联网技术以及遍布全球的网民来完成。比如,从2001年“***”的创立开始,到传统百科领域“在线版”的Encyclopedia、Brockhaus等、微软的Encarta、谷歌的Knol......形形色色的网络百科正在孕育、诞生、壮大。
网络的百科全书有其不同于传统百科全书的特点,其中一个重大的特点是,编辑者不限于专家团队,而是更多地是遍布全球的拥有联网计算机的众多网民。这些网民成为网络百科全书的主要编辑者,同时作为网络百科全书的用户,融入到百科全书电子***的各项应用中。
如图1所示,现有网络百科***中有不少独立的应用,像分类频道管理员、名片编辑用户、任务***等,每一个这样的应用都需要用户管理模块,有些还需要支持权限管理。
现有技术中,每一个百科应用都需要用户管理模块,有些还需要支持权限管理;而每一个需要支持权限管理的应用中,都有不同的用户及其角色、权限,那么同一个用户在不同应用切换时,就存在更换用户管理模块、重复登录来访问不同的应用的技术问题。
本发明的发明人有留意到,在其他领域,存在一些相关技术,如2007年8月29日公开的中国发明专利第200610007860.3号,其涉及通信技术领域中一种集中用户安全管理方法及装置。所述装置包括:集中用户管理域及多个应用域,所述集中用户管理域提供多个接口与各应用域交互,其至少包括集中用户管理及授权服务实体和集中用户认证及审核服务实体来统一管理多个应用域;所述的集中用户管理及授权服务实体,用于为用户分配权限,并产生规则数据;所述的集中用户认证及审核服务实体,用于提供集中认证、鉴权及记录日志的服务。
发明内容
本发明所要解决的技术问题是提供一种网络百科用户管理***及其制作方法、应用的访问方法,本发明能够在尽可能少改动现有百科应用的前提下在各个异构***百科应用间实现用户角色、权限管理,方便用户使用各种百科应用。
本发明为解决技术问题而采用的技术方案是提供一种网络百科用户管理***,包括:应用管理模块,所述应用管理模块作为用户中心模块和百科应用之间的通用型接口模块;所述应用管理模块包括:标识存储单元,存储有为所述每个百科应用分配注册的唯一标识;通用权限管理单元,其基于各个所述百科应用的共有逻辑为用户在对应标识的所述百科应用里分配成员角色及其权限;第一交互接口单元,用于接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块,实现与所述用户中心模块之间的交互;第二交互接口单元,用于根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互。
其中,通用权限管理单元通过抽离并独立出各个百科应用的包括成员和权限管理在内的共有逻辑,为用户在对应标识的所述百科应用里分配成员角色及其权限,包括以下处理步骤:获取每个百科应用分配注册的唯一标识;获取各个所述百科应用的成员角色名单;获取各个百科应用的成员角色在该应用中的对应权限;检查成员角色名单和成员角色权限之间的对应关系;检查各个百科应用的关联关系/或相似度;根据成员角色名单、成员角色权限以及各个百科应用的关联关系/相似度,将相关联或相近似的百科应用抽离出来并匹配相应的成员角色和成员角色权限。
其中,所述第二交互接口单元具体用于根据携带要访问百科应用标识的所述用户访问、获取百科应用对象及成员在所述百科应用中的角色,对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互。
其中,所述***包括百科应用注册单元,用于预先对各个所述百科应用进行注册,注册后将各个百科应用的标识存入标识存储单元;百科应用加载单元,用于在***运行时加载所有注册的百科应用以实现插件功能。
其中,所述通用权限管理单元实现抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑中,具体是指用于将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现;所述百科应用注册单元具体用于通过所述适配器代码中实现的必要接口将百科应用注册;所述百科应用加载单元具体用于在***运行时读取所述适配器配置文件,将所述百科应用作为插件加载;所述第二交互接口单元具体用于通过所述加载的百科应用所提供的接口对外提供服务,实现与各个百科应用之间的交互。
其中,包括:百科应用反注册单元,用于在***退出运行时通过配置文件进行反注册,将所述百科应用插件卸载。
其中,包括:相互分离的读接口单元和写接口单元,所述读接口单元和写接口单元分别用于对所述百科应用进行读写操作,所述第二交互接口单元通过调用所述读接口单元和写接口单元实现与各个百科应用之间的交互。
其中,所述读接口单元配置有适配器抽象类配置文件,并且包括以下子接口:权限检查器,用于检查用户当前此百科应用中是否具备指定权限;角色查询器,用于根据用户标识查询用户在当前百科应用的角色;扩展对象查看器,用于根据百科应用的扩展名称获取当前百科应用所支持的扩展对象。
其中,包括:所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类将所述角色和权限抽象实现。
其中,包括:所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
其中,通用权限管理单元抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑是指:所述通用权限管理单元抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象图标和徽章在内的共有逻辑。
本发明为解决技术问题而采用的技术方案是提供一种网络百科用户管理***的制作方法,包括:建立应用管理模块,使其成为网络百科的用户中心模块和百科应用之间的通用型接口模块,所述建立应用管理模块包括:抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑;
为用户在对应标识的所述百科应用里分配成员角色及其权限;
建立与所述用户中心模块之间的交互接口,使其能够接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块;建立与各个百科应用之间的交互接口,使其能够根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能;其中,建立所述应用管理模块的以上步骤不分先后。
其中,所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑步骤,包括:将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现。
其中,所述编写应用适配器配置文件将所述角色和权限的步骤包括:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类将所述角色和权限抽象实现;或所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
其中,所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑的步骤包括:抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象图标和徽章在内的共有逻辑。
其中,所述建立与各个百科应用之间的交互接口的步骤包括:建立相互分离的读接口单元和写接口单元,分别用于对所述百科应用进行读写操作。
本发明为解决技术问题而采用的技术方案是提供一种网络百科应用的访问方法,包括:截获来自网络百科用户中心模块并发送至百科应用的用户访问请求;根据所述用户访问请求接管所述百科应用的用户管理模块功能,为用户在对应标识的所述百科应用里分配成员角色及其权限,所述成员角色及其权限是预先对各个所述百科应用抽象而得到,即抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑而得到;依据所述成员角色及其权限对相应的百科应用进行访问。
其中,在截获来自网络百科用户中心模块并发送至百科应用的用户访问请求步骤之前,包括加载已注册的所述各个百科应用。
其中,所述依据成员角色及其权限对相应的百科应用进行访问的步骤包括:采用相互分离的读接口单元和写接口单元,依据成员角色及其权限分别用于对所述百科应用进行读写操作。
通过上述实施例,本发明重构用户基本信息、编辑统计等后台逻辑;建立围绕用户的应用和角色权限***抽象,旨在建立一个公共的网络百科应用的管理组件,接管现有百科***中各个独立的百科应用的用户管理模块如分类频道管理员、名片编辑用户、任务***等,因此能够在尽可能少改动现有百科应用的前提下在各个异构***百科应用间实现用户角色、权限管理,方便用户使用各种百科应用;并且对以后百科应用的开发和维护类似应用有较大帮助。
通过对用户的应用和角色权限***抽象,还可以逐步建立用户激励体系比如图标和徽章体系。
附图说明
图1是本发明网络百科用户管理***实施例一的原理框图;
图2是本发明网络百科用户管理***实施例二的原理框图;
图3是本发明网络百科用户管理***实施例三的原理框图;
图4是本发明网络百科用户管理***实施例四的原理框图;
图5是本发明网络百科用户管理***实施例五中读接口单元的原理框图;
图6是本发明中将各百科应用进行抽象的原理图;
图7是本发明中将各百科应用***作为插件加载进网络百科平台的示意图;
图8是本发明网络百科应用的访问方法实施例的流程图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
先介绍本发明中几个基础的基于用户管理的定义:
应用(app):这里指网络百科的各种应用,围绕百科注册用户和基本业务逻辑(编辑等)进行的独立产品或扩充应用。比如蝌蚪团、分类频道管理员、金箍棒任务***等,可以抽象的看作百科***的app。
角色(role):注册用户作为app的成员(member)的基础上被授予的一种关系抽象。比如分配频道管理员分为普通管理员和高级管理员。在app***中,role作为最基本的反映成员关系和权限粒度的抽象,必须保证存在并配置。允许member在app中拥有多个role。
权限(priv):反映member在app业务范围内进行各种操作前需要被赋予条件抽象。通过给role赋予适当的priv,可以对app中的成员用户进行更加细粒度的权限控制。在百科app子***中,priv是可选的。
以下详细介绍本发明的实施例:
参阅图1,本发明网络百科用户管理***实施例包括:
应用管理模块,所述应用管理模块作为用户中心模块和百科应用之间的通用型接口模块;
所述应用管理模块包括:
ID存储单元,存储有为所述每个百科应用分配注册的唯一标识ID;
通用权限管理单元,其通过抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑,为用户在对应标识的所述百科应用里分配成员角色及其权限,包括以下处理步骤:
获取每个百科应用分配注册的唯一标识;
获取各个所述百科应用的成员角色名单;
获取各个所述百科应用的成员角色在该应用中的对应权限;
检查成员角色名单和成员角色权限之间的对应关系;
检查各个所述百科应用的关联关系/或相似度;
根据成员角色名单、成员角色权限以及各个所述百科应用的关联关系/相似度,将相关联或相近似的百科应用抽离出来并匹配相应的成员角色和成员角色权限。
第一交互接口单元,用于接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块,实现与所述用户中心模块之间的交互;
第二交互接口单元,用于根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互。
以上可以了解,本发明网络百科用户管理***实施例重构用户基本信息、编辑统计等后台逻辑;建立围绕用户的应用和角色权限***抽象,旨在建立一个公共的网络百科应用的管理组件,接管现有百科***中各个独立的百科应用如分类频道管理员、名片编辑用户、任务***等,因此能够在尽可能少改动现有百科应用的前提下在各个异构***百科应用间实现用户角色、权限管理,方便用户使用各种百科应用;并且对以后百科应用的开发和维护类似应用有较大帮助。
通过对用户的应用和角色权限***抽象,还可以逐步建立用户激励体系比如ICON和徽章体系。
以上通过抽象成员和权限管理逻辑,开发一套围绕用户的百科应用管理组件,这种抽象至少有以下两个优点:
1)允许抽离并独立出百科应用的共有逻辑包括成员和权限管理以及相应扩展抽象如ICON等,以便于被通用权限管理单元接管,所述通用权限管理单元可以是百科应用***基础的AppManager类;
2)可以向***用户提供更加简明统一的接口,通过适配已有的百科应用实现或配置新的参数config,很容易开发出新的百科应用。
在另一个实施例中,所述第二交互接口单元具体用于根据携带要访问百科应用ID的所述用户访问、获取百科应用对象及成员在所述百科应用中的角色,对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互。
其中每一个百科应用都分配有一个百科应用ID,在使用之前注册所有的百科应用,使通用权限管理单元能够进行角色和权限分配。当然,也可以在开始时就配有各个百科应用的ID,无需注册。
参阅图2,在另一个实施例中,所述***进一步包括:
百科应用注册单元,用于预先对各个所述百科应用进行注册,注册后将各个百科应用的ID存入ID存储单元;
百科应用加载单元,用于在***运行时加载所有注册的百科应用以实现插件功能。
上述实施例是为方便实现百科应用的注册而专门设计的结构,利用插件注册与注销的方式实现记载与卸除,非常简易方便,不需要对***作太多改动。
在本发明一个实施例中,可以采用网络程序的设计来实现所述通用权限管理单元、百科应用注册单元、百科应用加载单元以及第二交互接口单元,比如:
所述通用权限管理单元实现抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑中,具体是指用于将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现;
所述百科应用注册单元具体用于通过所述适配器代码中实现的必要接口将百科应用注册;
所述百科应用加载单元具体用于在***运行时读取所述适配器配置文件,将所述百科应用作为插件加载;
所述第二交互接口单元具体用于通过所述加载的百科应用所提供的接口对外提供服务,实现与各个百科应用之间的交互。
参阅图3,在另一个实施例中,进一步包括:
百科应用反注册单元,用于在***退出运行时通过配置文件进行反注册,将所述百科应用插件卸载。
通过配置文件进行反注册即可将插件应用从本***中卸载,对网络百科平台没有任何副作用。这种管理器、应用、扩展、角色四个概念相互支撑的结构构成了本发明网络百科用户平台的基础,也是一种相对通用的比较灵活的插件体系设计方式。
参阅图4,在另一个实施例中,包括:
相互分离的读接口单元和写接口单元,所述读接口单元和写接口单元分别用于对所述百科应用进行读写操作,所述第二交互接口单元通过调用所述读接口单元和写接口单元实现与各个百科应用之间的交互。
从网络程序设计的角度来看,则是使百科应用的读写接口分离,分别制定了写接口IBaikeAppWriteAdapter和读抽象类BaikeAppAbstract。这种做法简化了本***接管异构***百科应用的复杂度,减小百科应用的粒度,降低开发受接管的网络百科的开发难度,降低迁移老***的成本。因为本***仅仅需要读取百科应用的基本功能,而不是写。对异构***百科应用有写需求的客户类,只需要判断其是否实现了写接口IBaikeAppWriteAdapter即可。
参阅图5,在另一个实施例中,所述读接口单元配置有适配器抽象类配置文件,并且包括以下子接口:
权限检查器,用于检查用户当前此百科应用中是否具备指定权限;
角色查询器,用于根据用户ID查询用户在当前百科应用的角色;
扩展对象查看器,用于根据百科应用的扩展名称获取当前百科应用所支持的扩展对象。
在另一个实施例中,所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类BaikeAppExtension将所述角色和权限抽象实现。
通过上述实施例可以实现相应的扩展,使得BaikeAppExtension完全针对具体的百科应用,而不强迫每个百科应用都实现相同的扩展。
在另一个实施例中,考虑到网络应用会对想要加入其中的用户做一定的限制,比如活跃度、编辑版本通过率、用户级别等,所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
除了可以将这样的标准写入配置文件之外,还可以允许管理员通过后台去配置。
在另一个实施例中,通用权限管理单元抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑是指:所述通用权限管理单元抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象ICON和徽章在内的共有逻辑。
基于本发明精神,还提供一种网络百科用户管理***的制作方法实施例,包括:建立应用管理模块,使其成为网络百科的用户中心模块和百科应用之间的通用型接口模块,所述建立应用管理模块包括:
1)抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑;
2)为用户在对应ID的所述百科应用里分配成员角色及其权限;
3)建立与所述用户中心模块之间的交互接口,使其能够接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块;
4)建立与各个百科应用之间的交互接口,使其能够根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能;
其中,建立所述应用管理模块的以上步骤不分先后。
所述应用管理模块建立之后,能够接管各个百科应用的用户管理模块功能,成为一个公共的用户权限管理***组成。
其中,所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑步骤,包括:将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现。
其中,所述编写应用适配器配置文件将所述角色和权限的步骤包括:
1)所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类将所述角色和权限抽象实现;或
2)所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
其中,所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑的步骤包括:抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象ICON和徽章在内的共有逻辑。
其中,所述建立与各个百科应用之间的交互接口的步骤包括:建立相互分离的读接口单元和写接口单元,分别用于对所述百科应用进行读写操作。
以下从网络程序设计的思路,给出本发明网络百科用户管理***一个实施例的制作方法:
此实施例的目的是:重构用户基本信息、编辑统计等后台逻辑;建立围绕用户的应用和角色权限***抽象,旨在建立一个公共的网络百科应用的管理组件,接管现有百科***中各个独立的百科应用如分类频道管理员、名片编辑用户、任务***等(参阅图6所示),因此能够在尽可能少改动现有百科应用的前提下在各个异构***百科应用间实现用户角色、权限管理,方便用户使用各种百科应用;并且对以后百科应用的开发和维护类似应用有较大帮助。
一.设计原则
1)增加而非修改:降低开发成本,提高健壮性和可恢复性;
2)组件而非框架:降低代码耦合,选择性使用而非强迫性。
二.设计思路
采用用例驱动的面向对象分析与设计方法,主要步骤如下:
1)使用用例捕捉需求,寻找分析类。
主要领域概念包括:百科应用管理器(应用管理模块)BaikeAppManger,百科应用BaikeApp,应用角色BaikeAppRole,应用权限BaikeAppPriv。BaikeAppManger通过配置管理一堆BaikeApp实例。BaikeApp中可以设置可用的BaikeAppRole和BaikeAppPriv,并且允许将多个BaikeAppPriv分配一个BaikeAppRole。使用分析类图描述静态领域模型;
2)编写原型代码完成简单的交互模拟,将分析类图转换为设计类图。考虑到PHP的特性,及实现成本的代价高低,将role和priv这样的概念类转化为字符串来处理。为了避免每次开发应用都要去继承基类,开发一个通用的App类,只需要给予不同的ID和配置就能直接复用。为了达到这个目的,设计上尽可能走配置。下面是对某些设计段落的考虑。
A、使用百科App管理器管理所有App实例。BaikeAppManger是一个singleton类,本身充当构造BaikeApp的Factory,其通过BaikeAppConfig维持所有App的详细配置。
B、采用百科App读写接口分离的设计策略。读接口是IBaikeApp,写接口是IBaikeAppWriteAdapter。作用在于减小IBaikeApp粒度,降低开发受管App开发难度,降低迁移老***的成本。为了便于开发写应用比如实用导入脚本BaikeAppUtility,设置IBaikeAppWriteAdapter接口,只要实现该接口所有App应用均可达到写适配的目的。
3)通过开发适配器类实现IBaikeApp接口,即可让已经存在的百科应用***被BaikeAppManager接管。不太可能从开始就移植所有老百科应用***到新的App环境下,提供最简单的可以实现的适配器抽象类BaieAppAbstract是必要的。通过较小的实现代价,使得新的百科用户中心可以以统一的接口的访问那些已经存在的百科应用***,并且支持像ICON这样的扩展。
其中,
1.适配器的软件结构,处理逻辑如下描述:
适配器(Adpater)是一种设计模式,表示客户希望以一种新的接口来访问老***的转接关系。该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在这个软件协作关系中,主要参与者是客户(Client)、适配者(Adapter),和被适配者(Adaptee)三种角色。Adaptee是客户希望复用或者连接的异构***百科应用,具有自己的接口。开发者通过开发Adapter,通过封装或代理老***的接口将功能实现在Client所希望的新接口之下。
2.适配器与不同架构/***/体系的用户权限数据的连接关系以及配置过程如下描述:
开发者编写适配配置文件,可将新接口实现转接到异构***百科应用上。通过给异构***百科应用分配唯一的ID,BaikeAppManager就可以按统一的方式接管异构***百科应用,与之连接。这种接管方式是通过将用户和应用的关系抽象为用户权限***为基础的。而这种抽象是通过为用户在某个BaikeApp里分配角色及其权限实现的。由此可见,这种连接关系是建立在为每一个异构***百科应用里的用户抽象出角色,以一种统一的接口方式展示在BaikeAppManager面前。
示例:蝌蚪团被BaikeAppManager接管配置与注册流程
3.适配器对于外部异构百科应用的用户权限数据的扩展对象模式、扩展模块、转换方法如下描述:
扩展对象模式是使用在外部异构***百科应用经过适配之后的情况下,BaikeApp只提供了基本的应用属性,而每个应用特别的功能不尽相同,而客户又不希望强烈依赖于这种多变性。客户通过调用具体BaikeApp的getExtension方法来查询其支持的扩展接口,并且返回其所需的扩展对象。这种设计可提高接口的通用度,降低客户代码与应用的耦合,并且更容易将BaikeApp所支持的扩展做成可选配置。
4.适配器的接口分离方式如下描述:
BaikeApp读写接口分离,分别制定了写接口IBaikeAppWriteAdapter和读抽象类BaikeAppAbstract。这种做法可简化BaikeAppManager接管异构***百科应用的复杂度,因为BaikeAppManager仅仅需要读取BaikeApp的基本功能,而不是写。对异构***百科应用有写需求的客户类,只需要判断其是否实现了IBaikeAppWriteAdapter即可。
5.用户中心对适配器的控制逻辑和控制方法如下描述:
用户中心是承载百科用户信息和展示的平台,是百科***跟用户沟通的桥梁。用户中心正是通过BaikeAppManager接管众多基于用户权限***的应用,以及它们所支持的扩展功能。这样基于用户中心平台,在扩展其运营功能上,仅仅需要简单的配置即可,无需修改其代码。
4)IBaikeApp的接口不是一成不变的。围绕app可能会建立一系列相关概念,比如用户ICON。为了保持IBaikeApp接口的稳定性,避免污染不相关的app子类,使用扩展对象模式适度支持IBaikeApp的扩展行为BaikeAppExtension。通过将扩展写入具体的App配置文件,使得BaikeAppExtension完全针对具体的百科应用,而不强迫每个App都实现相同的扩展。
5)考虑到App会对想要加入其中的User做一定的限制,比如活跃度、编辑版本通过率、用户级别等。App***还会支持诸如BaikeAppUserLimit这样的抽象。除了可以将这样的标准写入配置文件之外,还可以允许管理员通过后台去配置。下面是整个app权限子***的设计图。
以下结合公共的应用管理模块与适配器的设计,介绍网络百科共享平台以及应用管理模块过程的详细流程步骤:
A、理解用户与百科应用之间的关系,将其参与关系抽象成角色和权限,并为其编写配置类文件;
B、通过编写应用适配器配置文件将上述角色和权限抽象实现,适配器配置文件需要实现必要的接口,并将其注册进应用管理模块,以便让应用管理模块接纳,这也是通过配置文件完成的;
C、用户中心通过应用管理模块即AppManager读取适配器配置文件,将各百科应用***作为插件加载进网络百科平台,通过他们提供的接口对外提供服务,如图7所示。
参阅图8,基于本发明精神,还提供一种网络百科应用的访问方法实施例,包括以下步骤:
步骤1:截获来自网络百科用户中心模块并发送至百科应用的用户访问请求;
步骤2:根据所述用户访问请求接管所述百科应用的用户管理模块功能,为用户在对应ID的所述百科应用里分配成员角色及其权限,所述成员角色及其权限是预先对各个所述百科应用抽象而得到,即抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑而得到;
步骤3:依据所述成员角色及其权限对相应的百科应用进行访问。
其中,在截获来自网络百科用户中心模块并发送至百科应用的用户访问请求步骤之前,包括加载已注册的所述各个百科应用。
其中,所述依据成员角色及其权限对相应的百科应用进行访问的步骤包括:采用相互分离的读接口单元和写接口单元,依据成员角色及其权限分别用于对所述百科应用进行读写操作。
在上述实施例中,仅对本发明进行了示范性描述,但是本领域技术人员在阅读本专利申请后可以在不脱离本发明的精神和范围的情况下对本发明进行各种修改。

Claims (19)

1.一种网络百科用户管理***,其特征在于,包括:
应用管理模块,所述应用管理模块作为用户中心模块和百科应用之间的通用型接口模块;
所述应用管理模块包括:
标识存储单元,存储有为所述每个百科应用分配注册的唯一标识;
通用权限管理单元,其基于各个所述百科应用的共有逻辑为用户在对应标识的所述百科应用里分配成员角色及其权限;
第一交互接口单元,用于接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块,实现与所述用户中心模块之间的交互;
第二交互接口单元,用于根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互;其中,
所述通用权限管理单元具体用于通过抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑;所述各个所述百科应用之间是相互独立的。
2.根据权利要求1所述的***,其特征在于:
所述通用权限管理单元通过抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑,为用户在对应标识的所述百科应用里分配成员角色及其权限,包括以下处理步骤:
获取所述每个百科应用分配注册的唯一标识;
获取各个所述百科应用的成员角色名单;
获取各个所述百科应用的成员角色在该应用中的对应权限;
检查成员角色名单和成员角色权限之间的对应关系;
检查各个所述百科应用的关联关系/或相似度;
根据成员角色名单、成员角色权限以及各个所述百科应用的关联关系/相似度,将相关联或相近似的百科应用抽离出来并匹配相应的成员角色和成员角色权限。
3.根据权利要求1所述的***,其特征在于:
所述第二交互接口单元具体用于根据携带要访问百科应用标识的所述用户访问、获取百科应用对象及成员在所述百科应用中的角色,对所述百科应用进行访问,反馈交互结果至所述第一交互接口单元,实现与各个百科应用之间的交互。
4.根据权利要求3所述的***,其特征在于,包括:
百科应用注册单元,用于预先对各个所述百科应用进行注册,注册后将各个百科应用的标识存入标识存储单元;
百科应用加载单元,用于在***运行时加载所有注册的百科应用以实现插件功能。
5.根据权利要求4所述的***,其特征在于:
所述通用权限管理单元实现抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑中,具体是指用于将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现;
所述百科应用注册单元具体用于通过所述适配器代码中实现的必要接口将百科应用注册;
所述百科应用加载单元具体用于在***运行时读取所述适配器配置文件,将所述百科应用作为插件加载;
所述第二交互接口单元具体用于通过所述加载的百科应用所提供的接口对外提供服务,实现与各个百科应用之间的交互。
6.根据权利要求5所述的***,其特征在于,包括:
百科应用反注册单元,用于在***退出运行时通过配置文件进行反注册,将所述百科应用插件卸载。
7.根据权利要求2至5任一项所述的***,其特征在于,包括:
相互分离的读接口单元和写接口单元,所述读接口单元和写接口单元分别用于对所述百科应用进行读写操作,所述第二交互接口单元通过调用所述读接口单元和写接口单元实现与各个百科应用之间的交互。
8.根据权利要求7所述的***,其特征在于,所述读接口单元配置有适配器抽象类配置文件,并且包括以下子接口:
权限检查器,用于检查用户当前此百科应用中是否具备指定权限;
角色查询器,用于根据用户标识查询用户在当前百科应用的角色;
扩展对象查看器,用于根据百科应用的扩展名称获取当前百科应用所支持的扩展对象。
9.根据权利要求5所述的***,其特征在于:
所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类将所述角色和权限抽象实现。
10.根据权利要求5所述的***,其特征在于:
所述通用权限管理单元通过编写应用适配器配置文件将所述角色和权限抽象实现是指:所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
11.根据权利要求2至5任一项所述的***,其特征在于:
通用权限管理单元抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑是指:所述通用权限管理单元抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象图标和徽章在内的共有逻辑。
12.一种网络百科用户管理***的制作方法,其特征在于,包括:
建立应用管理模块,使其成为网络百科的用户中心模块和百科应用之间的通用型接口模块,所述建立应用管理模块包括:
抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑;所述各个所述百科应用之间是相互独立的;
为用户在对应标识的所述百科应用里分配成员角色及其权限;
建立与所述用户中心模块之间的交互接口,使其能够接受来自所述用户中心模块的用户访问,反馈交互结果至所述用户中心模块;
建立与各个百科应用之间的交互接口,使其能够根据所述用户访问启用通用权限管理单元,接管所述百科应用的用户管理模块功能;
其中,建立所述应用管理模块的以上步骤不分先后。
13.根据权利要求12所述的方法,其特征在于:
所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑步骤,包括:将用户参与百科应用的关系抽象成角色和权限,并为其编写配置类文件,通过编写应用适配器配置文件将所述角色和权限抽象实现。
14.根据权利要求13所述的方法,其特征在于:
所述编写应用适配器配置文件将所述角色和权限的步骤包括:
所述通用权限管理单元通过在适配器配置文件中写入支持百科应用扩展行为的扩展类将所述角色和权限抽象实现;或
所述通用权限管理单元通过在适配器配置文件中写入支持百科应用抽象行为的标准将所述角色和权限抽象实现。
15.根据权利要求12所述的方法,其特征在于:
所述抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑的步骤包括:抽离并独立出各个所述百科应用的包括成员、权限管理、相应扩展抽象ICON和徽章在内的共有逻辑。
16.根据权利要求12所述的方法,其特征在于:
所述建立与各个百科应用之间的交互接口的步骤包括:建立相互分离的读接口单元和写接口单元,分别用于对所述百科应用进行读写操作。
17.一种网络百科应用的访问方法,其特征在于,包括:
截获来自网络百科用户中心模块并发送至百科应用的用户访问请求;
根据所述用户访问请求接管所述百科应用的用户管理模块功能,为用户在对应标识的所述百科应用里分配成员角色及其权限,所述成员角色及其权限是预先对各个所述百科应用抽象而得到,即抽离并独立出各个所述百科应用的包括成员和权限管理在内的共有逻辑而得到;所述各个所述百科应用之间是相互独立的;
依据所述成员角色及其权限对相应的百科应用进行访问。
18.根据权利要求17所述的方法,其特征在于:
在截获来自网络百科用户中心模块并发送至百科应用的用户访问请求步骤之前,包括加载已注册的所述各个百科应用。
19.根据权利要求17所述的方法,其特征在于:
所述依据成员角色及其权限对相应的百科应用进行访问的步骤包括:采用相互分离的读接口单元和写接口单元,依据成员角色及其权限分别用于对所述百科应用进行读写操作。
CN201110095011.9A 2011-04-15 2011-04-15 网络百科用户管理***及其制作方法、应用的访问方法 Active CN102739427B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110095011.9A CN102739427B (zh) 2011-04-15 2011-04-15 网络百科用户管理***及其制作方法、应用的访问方法
PCT/CN2012/073669 WO2012139482A1 (zh) 2011-04-15 2012-04-09 网络百科用户管理***及应用的访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110095011.9A CN102739427B (zh) 2011-04-15 2011-04-15 网络百科用户管理***及其制作方法、应用的访问方法

Publications (2)

Publication Number Publication Date
CN102739427A CN102739427A (zh) 2012-10-17
CN102739427B true CN102739427B (zh) 2015-07-01

Family

ID=46994263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110095011.9A Active CN102739427B (zh) 2011-04-15 2011-04-15 网络百科用户管理***及其制作方法、应用的访问方法

Country Status (2)

Country Link
CN (1) CN102739427B (zh)
WO (1) WO2012139482A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268212A (zh) * 2014-09-23 2015-01-07 北京奇虎科技有限公司 一种互联网产品的发放方法和装置
CN104935599B (zh) * 2015-06-18 2018-10-16 北京京东尚科信息技术有限公司 一种通用权限控制管理方法及***
CN106815503A (zh) * 2017-02-24 2017-06-09 郑州云海信息技术有限公司 一种操作***用户权限管理方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026481A (zh) * 2006-02-21 2007-08-29 华为技术有限公司 一种集中用户安全管理方法及装置
CN101414253A (zh) * 2007-10-17 2009-04-22 华为技术有限公司 一种权限管理方法及***
CN101441688A (zh) * 2007-11-20 2009-05-27 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0227049D0 (en) * 2002-11-20 2002-12-24 Bae Sys Defence Sys Ltd Management of network security domains
CN101166173B (zh) * 2006-10-20 2012-03-28 北京直真节点技术开发有限公司 一种单点登录***、装置及方法
CN101277193A (zh) * 2008-05-05 2008-10-01 北京航空航天大学 基于面向服务架构认证服务代理的信息门户单点登录和访问***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026481A (zh) * 2006-02-21 2007-08-29 华为技术有限公司 一种集中用户安全管理方法及装置
CN101414253A (zh) * 2007-10-17 2009-04-22 华为技术有限公司 一种权限管理方法及***
CN101441688A (zh) * 2007-11-20 2009-05-27 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法

Also Published As

Publication number Publication date
CN102739427A (zh) 2012-10-17
WO2012139482A1 (zh) 2012-10-18

Similar Documents

Publication Publication Date Title
US8103683B2 (en) Converting between software objects
CN105024865B (zh) 云联合即服务
US20110270711A1 (en) Managing application interactions with enterprise systems
US20140129457A1 (en) An interactive organizational decision-making and compliance facilitation portal
US20050188367A1 (en) Executable application configuration system
CN105144077A (zh) 云服务平台
US7856454B2 (en) Data model for business relationships
CN106951555A (zh) 基于结构化数据的SaaS模式内容管理***
US7895332B2 (en) Identity migration system apparatus and method
CN101262377A (zh) 用户身份信息整合管理架构及其方法
CN101976199A (zh) 面向对象的中间件分布式***开发平台
US9158932B2 (en) Modeled authorization check implemented with UI framework
US20230177481A1 (en) Extensible, low-code integration platform
CN107957869A (zh) 一种固定办公云桌面***
US12032940B2 (en) Multi-platform application integration and data synchronization
CN113836218A (zh) 一种基于工作流的分布式异构处理***
CN105204863A (zh) 违法数据审核***技术文档
CN102739427B (zh) 网络百科用户管理***及其制作方法、应用的访问方法
US20220358233A1 (en) Framework for pushing access-privilege information from data environments
US20100037201A1 (en) Separation Of Concerns Between Information Technology Services Models
CN101325525B (zh) 商用网络操作***
Chua et al. Adopting hyperledger fabric blockchain for epcglobal network
Lepouras et al. Domain expert user development: The SmartGov approach
Waschke Cloud-Specific Standards: A Tide to Raise All Boats
Schill et al. Codalf: a decentralized workflow management system on top of OSF DCE and DC++

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant