(完整版)统一用户及权限管理_第1页
(完整版)统一用户及权限管理_第2页
(完整版)统一用户及权限管理_第3页
(完整版)统一用户及权限管理_第4页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文件编号:统一用户及权限管理平台解决方案及设计报告版本号 0.9拟制人王应喜日期2006 年6 月审核人 _日期 _批准人 _日期 _目录第一章引言.11.1编写目的 .11.2背景.11.3定义.11.4参考资料 .1第二章统一权限管理解决方案 .22.1需求分析 .22.2系统架构 .32.3系统技术路线 .7第三章统一用户及授权管理系统设计 .73.1组织机构管理 .83.2用户管理 .错误 ! 未定义书签。3.3应用系统管理、应用系统权限配置管理.93.4角色管理 .83.5角色权限分配 .93.6用户权限 (角色 )分配 .93.7用户登录日志管理功 .9第四章对外接口设计 .104

2、.1概述.104.2接口详细描述 .104.2.1获取用户完整信息 .144.2.2获取用户拥有的功能模块的完整信息.154.2.3获取用户拥有的一级功能模块.164.2.4获取用户拥有的某一一级功能模块下的所有子功能模块.174.2.5获取用户拥有的某一末级功能模块的操作列表.194.2.6判断用户是否拥有的某一末级功能模块的某一操作权限.204.2.7获取某一功能模块的 ACL 尚需进一步研究 .21获取某一模块的数据级权限规划规则尚需进一步研究221 引言1.1 编写目的编写此文的目的从总体上描述企业统一用户及授权管理的解决方案以及统一用户及授权管理系统的功能设计、 对外接口设计、 数据

3、库设计,并为下一阶段的详细设计以及系统编码、测试提供依据。本文档读者对象:用户、项目经理、系统分析员、软件文档管理员、质量管理人员,软件开发人员、软件测试人员等。此文档和附加参考资料作为系统进行设计与测试的基础性文档。1.2 背景随着信息化的发展,企业的应用不断的增加,而企业的应用行使多样化,既有传统的 C/S 模式应用,又有基于 internet 的 B/S 应用;既有基于 Windows 平台的 .net 应用,又有基于 J2ee架构的应用。企业在进行信息化建设过程中,在没有实现同以用户及授权管理之前,各个系统的用户独立, 且用户授权不能集中管理, 这给企业信息化的系统管理员和操作用户带来

4、很多不便。鉴于此,本文提出基于统一用户及授权管理解决方案。1.3 定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1、 SSO:Single Sign On,单点登录1.4 参考资料2 统一用户及权限管理平台解决方案2.1 需求分析统一用户权限管理主要解决的问题:1、 提供用户注册用户通过网上注册。2、 提供统一的用户管理和授权管理(应用程序 )权限控制,只实现功能权限控制, 而不实现数据 (范围 )权限控制 ,主要由于各个业务的数据访问规则很难归纳为标准的访问规则。而功能从权限的控制包括:不做权限控制的功能,即不登陆就可操作,如:对外新闻、公告查询公共功能:用户只要登陆就可操作

5、的功能,如:内部新闻、内部公告查询需权控制的功能:只有当用户拥有该功能的权限才能操作的功能3、 提供统一的用户及权限认证接口提供的统一的用户及权限认证接口同时满足 C/S 和 B/S 应用的用户认证和权限控制的需求;且对于 B/S 应用,既满足基于 windows 平台的 .net 应用,也满足与基于 J2ee 架构的应用。4、 提供统一的数据访问接口统一用户及权限管理平台提供各类数据访问接口,如:获取操作人员的信息、获取机构信息、获取系统功能信息等。5、 系统具有较好的扩展性和灵活性组织机构、用户的属性要求可以进行适当的增加, 以满足各个不同企业的统一权限管理的需要。统一权限管理,既满足与单

6、个应用授权,也满足所有应用集中授权。统一权限管理既满足一个机构集中授权,也满足多机构逐级受权。在统一授权管理中, 每个应用权限控制的粒度不一致, 有的应用或模块控制得较粗,有的控制得较精确,如:对于数据的维护只是一个“数据维护”权限粗的控制,也可以控制到“数据新增” 、“数据修改”和“数据删除”权限的精确控制上。/以下由沈伟补充6、 系统的单点登录(包括跨系统的应用调用)7、 权限模型配置(包括模块与部分可通用的数据权限;数据权限做到什么程度需思考)。对于第 2 点中细节描述部分,则形成需建成独立服务模式, 而非源程序加载模式。此需求需讨论。建议:对SSO 项目进行继承。2.2 系统架构应用系

7、统OA 系统应急指挥系统。邮件系统认证、服务接口统一用户、授权管理系 统认证、服务组织机构用户应用系统应用系统身份认证接口用户注册管理管理管理权限配置权限认证接口系统数据访问接口角色角色权限用户权限用户登陆管理分配角色分配管理认证中心数据库组织机构信息、用户信息、应用系统信息、应用系统权限(功能 )配置信息、角色信息、角色(已分配 )权限信息、用户(已分配 )权限信息、用户登录日志信息图:统一用户及权限管理平台架构如图所示,统一用户及权限管理平台系统功能由四部分组成:1、 用户注册系统用户注册系统提供用户网上注册。2、 统一用户及授权管理系用系统该系统主要由应用系统的系统管人员使用。系统提供组

8、织机构管理、用户管理、应用系统管理、应用系统权限 (功能 )配置管理、角色管理、角色权限分配、用户权限 (角色 )分配、用户登录管理功能。3、 认证与服务认证服务提供应用系统身份认证接口、权限认证接口、数据访问接口。应用系统同过调用身份认证接口实现用户身份认证;调用实现对用户权限认证;通过调用数据接口读取如用户信息、组织机构信息等数据。4、 认证中心数据库认证中心数数据库负责存储统一用户及权限管理的数据。统一用户、权限管理数据流程图统一用户、授权管理(数据增、删、改维护)认证中心门户认证邮件系统其它系统数据库信息邮件帐户认证信息图:统一用户、权限管理数据流程图从以上图中可知, 在进行统一用户、

9、 授权管理时, 一方面对认证中心的用户信息、权限分配数据进行维护, 另一方面,根据需要,可以对门户系统 (如 Liferay Portal、IBMWebsphere Portal)中的相关的用户、权限分配信息进行同步更新,以及对邮件系统中的邮件帐户信息进行同步更新,以及对其它系统的认证信息进行同步更新。通过以上方案,既满足了统一用户和授权管理,同时,又解决了门户系统、邮件系统等的用户管理、授权和认证问题。避开了去了解甚至重新构造门户系统、邮件系统等中的用户认证、权限认证问题。新建应用、门户的身份认证、权限认证机制用户门户单点登录用户认证接口认证中心统一用户 信息门户请求应用请求门户权限认证服务

10、统一用户权限管理认证服务门户权限认证接口统一权限认证接口门户认证信息认证中心数据库门户权限的认证由门户服务器提供的认证服务完成。新的应用系统建设,其用户、权限是基于统一的用户、权限管理平台建设,用户身份认证、权限认证由我们提供的统一用户权限管理的认证服务完成。老的应用系统的认证机制老的应用系统的用户认证、 权限认证仍然由老系统完成。 若老的应用系统整合到门户,首先通过门户认证,然后再通过老的系统的用户、权限认证。具体如下:用户门户单点登录原系统登录认证中心统一用户认证接口原系统用户认证接口原系统统一用户 信息认证信息从门户应用请求系统请求认证中心与老系统认证映射原系统权限认证接口图:老系统用户

11、、权限认证机制关于邮件系统的用户认证问题邮件系统的用户认证仍然由邮件系统提供的认证服务完成,只是,若需要进行统邮件系统的账户时,在对认证中心的用户进行维护时,对邮件系统的帐户信息(主要是用户名和口令 )进行同步更新。2.3 主要技术路线统一用户和权限管理系统该系统采用jsp+struts+hibernate 的 J2ee 架构。 J2ee WEB中间件采用TOMCAT 。认证接口提供给应用系统的接口以webservice 方式提供,实现方法采用一般的javabean实现。数据库在本方案中,数据库系统采用mysql 数据库。3 用户注册系统设计此部分主要是想用户网上注册功能。4 统一用户及授权管

12、理系统设计统一用户及授权管理系统主要实现的功能包括:组织机构及用户管理应用系统及功能管理角色管理角色权限分配用户权限分配用户登录日志管理系统主界面如下:4.1 组织机构及用户管理1、 功能描述采用树形结构对机构及人员进行维护管理。具体包括:1) 机构的维护机构新增机构删除机构修改2) 人员的维护人员新增人员删除人员修改人员口令修改注册用户审查帐户开通 /停止3) 用户授权用户角色授权4) 用户权限查询用户拥有的角色查询用户拥有的权限查询2、 界面样式4.2 角色管理对角色的维护管理,包括角色的新增、修改、删除。4.3 角色权限分配4.4 用户权限 (角色 )分配4.5 登录 (在线 )用户管理

13、提供在线用户查询和注销在线用户功能。4.6 辅助功能系统操作管理实现操作日志的查询和导出。用户登录日志管理实现对用户历史登录日志的查询和导出。系统代码表管理代码类别维护代码维护4.7 应用系统及功能管理此部分功能一般只提供给开发应用开发上维护。主要实现应用系统目录维护和系统功能维护。5 认证与服务接口设计5.1 概述企业的信息化建设通常是要建设多个应用系统,多个应用系统共用一套组织机构及权限管理子系统。 组织机构中包括不同业务部门、不同行政级别的人员, 不仅组织机构非常庞大,并且各个组织单元之间的关系错综复杂。为方便组织机构管理工作和授权管理工作的顺利进行,在组织机构及权限管理部分实行“逐级授

14、权”的策略,将组织机构及权限管理子系统建设成为一个独立的Web 应用,各个行政级别的系统系统管理员都可以登录到Web 服务器上,进行组织机构和权限的管理和维护工作。由于这是一个多应用系统,各个业务系统对权限分配的结果都有各自不同的展现方式,为使各个应用系统能够将组织机构管理和权限分配的结果实实在在的应用到各个业务系统中,组织机构及权限管理子系统向各个业务系统提供了统一的应用程序接口。接口以WEBSERVICE 形式提供,为方便各个业务系统操作,接口的返回值以XML 格式为主。各个业务系统根据权限管理子系统的返回值可以自行决定如何展现权限分配的结果。5.2 接口详细描述统一用户及权限管理平台以W

15、EBSERVICE形式提供对外接口,返回信息以XML形式提供,接口如下:判断用户是否合法类名称OrgManager函数名称功能描述:根据用户登录名、口令判断用户是否为合法用户调用语法:参数描述:参数标识参数名称数据类型输入 / 输出userID用户 ID 号String输入返回值说明:备注:用户注销类名称OrgManager函数名称功能描述:根据用户登录名注销登录用户调用语法:参数描述:参数标识参数名称数据类型输入 / 输出userID用户 ID 号String输入返回值说明:备注:用户修改密码类名称函数名称功能描述:OrgManager用户修登录名注销登录用户调用语法:参数描述:参数标识参数

16、名称数据类型输入/输出userID用户ID号String输入返回值说明:备注:获取用户登录信息类名称OrgManager函数名称功能描述:根据用户登录名或用户ID 号获取用户登录信息调用语法:参数描述:参数标识参数名称数据类型输入 / 输出userID用户 ID 号String输入返回值说明:备注:获取组织机构信息类名称OrgManager函数名称功能描述:根据用户登录名或用户ID 号获取用户登录信息调用语法:参数描述:参数标识参数名称数据类型输入 / 输出userID用户 ID 号String输入返回值说明:备注:获取用户完整信息类名称OrgManager函数名称getUserInfo功能描

17、述:根据用户ID 号获取用户完整信息调用语法:String getUserInfo (String userID)throws AppException,RemoteException参数描述:参数标识参数名称数据类型输入/输出userID用户ID号String输入返回值说明:存在相应的结果信息时,返回值格式如下:<?xml version="1.0" encoding="GBK"?><org><person id="xxxx"><- 人员标识 -><name>xxxx<

18、;/name><- 用户姓名 -><admin_level>xxxx</admin_level><- 管理级别 ->< ownerd_unit >xxxx</ ownerd_unit ><- 设立机构 -> <department>xxxx</department> <- 部门 -><district>xxxx</district><-行政区划-><telephone>xxxx</telephone><-

19、办公电话-><email>xxxx</email><usb_state>xxxx</usb_state><-USB发放状态-></person></org>没有相应的结果信息时返回空字符串”。备注:获取用户拥有的功能模块的完整信息类名称PrivilegeManager函数名称getModulesOfUser功能描述:根据用户ID 号获取用户拥有的功能模块的完整信息调用语法:String getModulesOfUser (String userID)throws AppException,RemoteEx

20、ception参数描述:参数标识userID用户参数名称ID 号String数据类型输入/输出输入返回值:存在相应的结果信息时,返回值格式如下:<?xml version="1.0" encoding="GBK"?><privilege><application id="xxxx" name="xxxx"><-应用。返回值中包含1 个以上应用-><menu id="xxxx" name="name" title="

21、;xxxx"><-枝干菜单-><menu id="xxxx" name="name" title="xxxx"><- 枝干菜单可以嵌套-><item id="xxxx" name="name" title="xxxx" location="xxxx"/><item id="xxxx" name="name" title="xxxx&quo

22、t; location="xxxx"/><- 一个枝干菜单下包含1 个以上叶子菜单项-></menu></menu><menu id="xxxx" name="name" title="xxxx"><item id="xxxx" name="name" title="xxxx" location="xxxx"/></menu><- 一个应用下包含1 个以

23、上枝干菜单-></application ><application id="xxxx" name="xxxx"><menu id="xxxx" name="name" title="xxxx"><menu id="xxxx" name="name" title="xxxx"><item id="xxxx" name="name" tit

24、le="xxxx" location="xxxx"/></menu></menu></application ></privilege >没有相应的结果信息时返回空字符串”。备注:获取用户拥有的一级功能模块类名称PrivilegeManager函数名称getRootModulesOfUser (String userID)功能描述:根据用户ID 号获取用户拥有的一级功能模块调用语法:String getRootModulesOfUser (String userID)throws AppExcepti

25、on,RemoteException参数描述:参数标识参数名称数据类型输入/输出userID用户ID号String输入返回值:存在相应的结果信息时,返回值格式如下:<?xml version="1.0" encoding="GBK"?><privilege><application id="xxxx" name=” xxxx ” ><menu id=” xxxx ”name="name" title=”xxxx ” /></application ><

26、;application id="xxxx" name=” xxxx ” ><menu id=” xxxx ”name="name" title=”xxxx ” /></application ><-应用。返回值中包含1 个以上应用-></privilege >没有相应的结果信息时返回空字符串”。备注:获取用户拥有的某一一级功能模块下的所有子功能模块类名称PrivilegeManager函数名称getRootModulesOfUser (String userID)功能描述:根据用户ID 号、一级功能

27、模块ID,获取用户拥有的某一一级功能模块下的所有子功能模块调用语法:String getChildModulesUnderOneRootOfUser (String userID,String applicationID,String rootModuleID)throws AppException,RemoteException参数描述:参数标识参数名称数据类型输入/输出userID用户 ID 号String输入applicationID应用ID号String输入rootModuleID一级功能模块ID 号 String输入返回值:存在相应的结果信息时,返回值格式如下:<?xml ve

28、rsion="1.0" encoding="GBK"?><privilege><application id="xxxx" name="xxxx"><menu id="xxxx" name="name" title="xxxx"><menu id="xxxx" name="name" title="xxxx"><item id="

29、;xxxx" name="name" title="xxxx" location="xxxx"/><item id="xxxx" name="name" title="xxxx" location="xxxx"/><-1 个枝干菜单下包含1 个以上叶子菜单项-></menu><menu id="xxxx" name="name" title="xxx

30、x"><item id="xxxx" name="name" title="xxxx" location="xxxx"/></menu><-1个根菜单下包含0 个以上枝干菜单-></menu></application ></privilege >没有相应的结果信息时返回空字符串”。备注:获取用户拥有的某一末级功能模块的操作列表类名称PrivilegeManager函数名称getOperationsInOneEndModuleO

31、fUser功能描述:根据用户ID 号、应用ID 、末级功能模块ID ,获取用户拥有的某一末级功能模块中的所有操作调用语法:String getOperationsInOneEndModuleOfUser (String userID,String applicationID,String endModuleID)throws AppException,RemoteException参数描述:参数标识参数名称数据类型输入/输出userID用户 ID 号String输入applicationID应用ID号String输入endModuleID末级功能模块ID 号 String输入返回值:存在相应的

32、结果信息时,返回值格式如下:<?xml version="1.0" encoding="GBK"?><privilege><application id="xxxx" name="xxxx"><menu id="xxxx" name="name" title="xxxx"><menu id="xxxx" name="name" title="xxxx&q

33、uot;><item id="xxxx" name="name" title="xxxx" location="xxxx"/><operation id="xxxx"/><operation id="xxxx"/><- 包含 1 个以上操作标识-></item></menu></menu></application></privilege>没有相应的结果信息时返回

34、空字符串”。备注:判断用户是否拥有的某一末级功能模块的某一操作权限类名称PrivilegeManager函数名称isHaveOperationInOneEndModule功能描述:根据用户ID 号、应用ID 、末级功能模块ID 、操作名称,判断用户是否拥有的某一末级功能模块的某一操作权限调用语法:boolean isHaveOperationInOneEndModule (String userID,String applicationID,String endModuleID,String operationName)throws AppException,RemoteException参数

35、描述:参数标识参数名称数据类型输入/输出userID用户ID号String输入applicationID应用ID号String输入endModuleID末级功能模块ID 号 String输入operationName操作名称String输入返回值:-true拥有-false没有备注:获取某一功能模块的ACL 尚需进一步研究类名称PrivilegeManager函数名称getAclOfModule功能描述:根据模块ID 号获取属主应用、同类应用、其它应用对当前模块的操作权限。调用语法:String getModuleACL (String moduleID)throws AppException

36、,RemoteException参数描述:参数标识参数名称数据类型输入/输出moduleID模块ID号String输入返回值:String型模块ACL 属性, ACL 属性由三位数据组成,第一位代表属主应用的权限,第二位代表同类应用的权限,第三位代表其他应用的权限。每一位有四个枚举值:0:没有权限1:查询权限2:修改权限3:查询、修改权限备注:获取某一模块的数据级权限规划规则尚需进一步研究类名称PrivilegeManager函数名称getDataAuthRuleOfModule功能描述:根据模块ID ,用户 ID 获取当前操作员能够在当前模块上操作哪些行政区划内的数据。调用语法:String

37、 getDataAuthRuleOfModule (String moduleID,String userID)throws AppException,RemoteException参数描述:参数标识moduleIDuserID参数名称模块ID号用户ID号数据类型StringString输入/输出输入输入返回值:存在相应的结果信息时,返回值格式如下:<?xml version="1.0" encoding="GBK"?><dataprivilege><dataarea includesubunit="yes&quo

38、t;>123456</dataarea><- 元素值为行政区划代码-><dataarea includesubunit="no">222222</dataarea><- includesubunit属性标识是否包含下级机构数据-><-返回值中包含1 个以上 dataarea元素 -></dataprivilege >没有相应的结果信息时返回空字符串”。备注:6 数据库设计说明:数据库的对象 (包括数据库表名、 字段名、索引等所有数据库中的对象)的名称全部以小写命名。6.1 机构信息系统编号 : ZT_YHQXGL存储编码 : ORG_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论