文件编号:统一用户及权限管理平台解决方案及设计报告版本号0.9拟制人王应喜日期2006年6月审核人__________ 日期___________ 批准人__________ 日期___________目录第一章引言 (1)1.1编写目的 (1)1.2背景 (1)1.3定义 (1)1.4参考资料 (1)第二章统一权限管理解决方案 (2)2.1需求分析 (2)2.2系统架构 (3)2.3系统技术路线 (7)第三章统一用户及授权管理系统设计 (7)3.1组织机构管理 (8)3.2用户管理............................................................................................................. 错误!未定义书签。
3.3应用系统管理、应用系统权限配置管理 (9)3.4角色管理 (8)3.5角色权限分配 (9)3.6用户权限(角色)分配 (9)3.7用户登录日志管理功 (9)第四章对外接口设计 (10)4.1概述 (10)4.2接口详细描述 (10)4.2.1获取用户完整信息 (14)4.2.2获取用户拥有的功能模块的完整信息 (15)4.2.3获取用户拥有的一级功能模块 (16)4.2.4获取用户拥有的某一一级功能模块下的所有子功能模块 (17)4.2.5获取用户拥有的某一末级功能模块的操作列表 (19)4.2.6判断用户是否拥有的某一末级功能模块的某一操作权限 (20)4.2.7获取某一功能模块的ACL—尚需进一步研究 (21)4.2.8获取某一模块的数据级权限规划规则—尚需进一步研究 (22)1引言1.1编写目的编写此文的目的从总体上描述企业统一用户及授权管理的解决方案以及统一用户及授权管理系统的功能设计、对外接口设计、数据库设计,并为下一阶段的详细设计以及系统编码、测试提供依据。
本文档读者对象:用户、项目经理、系统分析员、软件文档管理员、质量管理人员,软件开发人员、软件测试人员等。
此文档和附加参考资料作为系统进行设计与测试的基础性文档。
1.2背景随着信息化的发展,企业的应用不断的增加,而企业的应用行使多样化,既有传统的C/S模式应用,又有基于internet的B/S应用;既有基于Windows平台的.net应用,又有基于J2ee架构的应用。
企业在进行信息化建设过程中,在没有实现同以用户及授权管理之前,各个系统的用户独立,且用户授权不能集中管理,这给企业信息化的系统管理员和操作用户带来很多不便。
鉴于此,本文提出基于统一用户及授权管理解决方案。
1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1、SSO:Single Sign On,单点登录1.4参考资料2统一用户及权限管理平台解决方案2.1需求分析统一用户权限管理主要解决的问题:1、提供用户注册用户通过网上注册。
2、提供统一的用户管理和授权管理(应用程序)权限控制,只实现功能权限控制,而不实现数据(范围)权限控制,主要由于各个业务的数据访问规则很难归纳为标准的访问规则。
而功能从权限的控制包括:●不做权限控制的功能,即不登陆就可操作,如:对外新闻、公告查询●公共功能:用户只要登陆就可操作的功能,如:内部新闻、内部公告查询●需权控制的功能:只有当用户拥有该功能的权限才能操作的功能3、提供统一的用户及权限认证接口提供的统一的用户及权限认证接口同时满足C/S和B/S应用的用户认证和权限控制的需求;且对于B/S应用,既满足基于windows平台的.net应用,也满足与基于J2ee 架构的应用。
4、提供统一的数据访问接口统一用户及权限管理平台提供各类数据访问接口,如:获取操作人员的信息、获取机构信息、获取系统功能信息等。
5、系统具有较好的扩展性和灵活性组织机构、用户的属性要求可以进行适当的增加,以满足各个不同企业的统一权限管理的需要。
统一权限管理,既满足与单个应用授权,也满足所有应用集中授权。
统一权限管理既满足一个机构集中授权,也满足多机构逐级受权。
在统一授权管理中,每个应用权限控制的粒度不一致,有的应用或模块控制得较粗,有的控制得较精确,如:对于数据的维护只是一个“数据维护”权限粗的控制,也可以控制到“数据新增”、“数据修改”和“数据删除”权限的精确控制上。
//以下由沈伟补充6、系统的单点登录(包括跨系统的应用调用)7、权限模型配置(包括模块与部分可通用的数据权限;数据权限做到什么程度需思考)。
对于第2点中细节描述部分,则形成需建成独立服务模式,而非源程序加载模式。
此需求需讨论。
建议:对SSO项目进行继承。
2.2系统架构图:统一用户及权限管理平台架构如图所示,统一用户及权限管理平台系统功能由四部分组成:1、用户注册系统用户注册系统提供用户网上注册。
2、统一用户及授权管理系用系统该系统主要由应用系统的系统管人员使用。
系统提供组织机构管理、用户管理、应用系统管理、应用系统权限(功能)配置管理、角色管理、角色权限分配、用户权限(角色)分配、用户登录管理功能。
3、认证与服务认证服务提供应用系统身份认证接口、权限认证接口、数据访问接口。
应用系统同过调用身份认证接口实现用户身份认证;调用实现对用户权限认证;通过调用数据接口读取如用户信息、组织机构信息等数据。
4、认证中心数据库认证中心数数据库负责存储统一用户及权限管理的数据。
2.2.1统一用户、权限管理数据流程图从以上图中可知,在进行统一用户、授权管理时,一方面对认证中心的用户信息、权限分配数据进行维护,另一方面,根据需要,可以对门户系统(如Liferay Portal、IBM Websphere Portal)中的相关的用户、权限分配信息进行同步更新,以及对邮件系统中的邮件帐户信息进行同步更新,以及对其它系统的认证信息进行同步更新。
通过以上方案,既满足了统一用户和授权管理,同时,又解决了门户系统、邮件系统等的用户管理、授权和认证问题。
避开了去了解甚至重新构造门户系统、邮件系统等中的用户认证、权限认证问题。
2.2.2新建应用、门户的身份认证、权限认证机制✧门户权限的认证由门户服务器提供的认证服务完成。
✧新的应用系统建设,其用户、权限是基于统一的用户、权限管理平台建设,用户身份认证、权限认证由我们提供的统一用户权限管理的认证服务完成。
2.2.3老的应用系统的认证机制老的应用系统的用户认证、权限认证仍然由老系统完成。
若老的应用系统整合到门户,首先通过门户认证,然后再通过老的系统的用户、权限认证。
具体如下:2.2.4关于邮件系统的用户认证问题邮件系统的用户认证仍然由邮件系统提供的认证服务完成,只是,若需要进行统邮件系统的账户时,在对认证中心的用户进行维护时,对邮件系统的帐户信息(主要是用户名和口令)进行同步更新。
2.3主要技术路线●统一用户和权限管理系统该系统采用jsp+struts+hibernate的J2ee架构。
J2ee WEB中间件采用TOMCAT。
●认证接口提供给应用系统的接口以webservice方式提供,实现方法采用一般的javabean实现。
●数据库在本方案中,数据库系统采用mysql数据库。
3用户注册系统设计此部分主要是想用户网上注册功能。
4统一用户及授权管理系统设计统一用户及授权管理系统主要实现的功能包括:●组织机构及用户管理●应用系统及功能管理●角色管理●角色权限分配●用户权限分配●用户登录日志管理系统主界面如下:4.1组织机构及用户管理1、功能描述采用树形结构对机构及人员进行维护管理。
具体包括:1)机构的维护●机构新增●机构删除●机构修改2)人员的维护●人员新增●人员删除●人员修改●人员口令修改●注册用户审查●帐户开通/停止3)用户授权●用户角色授权4)用户权限查询●用户拥有的角色查询●用户拥有的权限查询2、界面样式4.2角色管理对角色的维护管理,包括角色的新增、修改、删除。
4.3角色权限分配4.4用户权限(角色)分配4.5登录(在线)用户管理提供在线用户查询和注销在线用户功能。
4.6辅助功能4.6.1系统操作管理实现操作日志的查询和导出。
4.6.2用户登录日志管理实现对用户历史登录日志的查询和导出。
4.6.3系统代码表管理代码类别维护代码维护4.7应用系统及功能管理此部分功能一般只提供给开发应用开发上维护。
主要实现应用系统目录维护和系统功能维护。
5认证与服务接口设计5.1概述企业的信息化建设通常是要建设多个应用系统,多个应用系统共用一套组织机构及权限管理子系统。
组织机构中包括不同业务部门、不同行政级别的人员,不仅组织机构非常庞大,并且各个组织单元之间的关系错综复杂。
为方便组织机构管理工作和授权管理工作的顺利进行,在组织机构及权限管理部分实行“逐级授权”的策略,将组织机构及权限管理子系统建设成为一个独立的Web应用,各个行政级别的系统系统管理员都可以登录到Web服务器上,进行组织机构和权限的管理和维护工作。
由于这是一个多应用系统,各个业务系统对权限分配的结果都有各自不同的展现方式,为使各个应用系统能够将组织机构管理和权限分配的结果实实在在的应用到各个业务系统中,组织机构及权限管理子系统向各个业务系统提供了统一的应用程序接口。
接口以WEBSERVICE形式提供,为方便各个业务系统操作,接口的返回值以XML格式为主。
各个业务系统根据权限管理子系统的返回值可以自行决定如何展现权限分配的结果。
5.2接口详细描述统一用户及权限管理平台以WEBSERVICE形式提供对外接口,返回信息以XML形式提供,接口如下:5.2.1判断用户是否合法5.2.2用户注销5.2.3用户修改密码5.2.4获取用户登录信息5.2.5获取组织机构信息5.2.6获取用户完整信息5.2.7获取用户拥有的功能模块的完整信息5.2.8获取用户拥有的一级功能模块5.2.9获取用户拥有的某一一级功能模块下的所有子功能模块5.2.10获取用户拥有的某一末级功能模块的操作列表5.2.11判断用户是否拥有的某一末级功能模块的某一操作权限5.2.12获取某一功能模块的ACL—尚需进一步研究5.2.13获取某一模块的数据级权限规划规则—尚需进一步研究6数据库设计说明:数据库的对象(包括数据库表名、字段名、索引等所有数据库中的对象)的名称全部以小写命名。
6.1机构信息6.2用户信息说明:1Is_individual_account(是否个人账户):0-否:当不为个人账户时,即允许多个人同时使用(登录)1-是(缺省):允许多个人同时使用(登录)2当对注册用户审核时,审核通过,则账户自动开通3若账户有效期到期,则账户自动“停止”,此功能实现由系统自动完成。
6.3角色信息说明:6.4机构类别-角色信息6.5机构类别-角色信息6.6人员类别-角色信息6.7用户-角色信息6.8应用系统信息6.9系统功能(菜单)信息说明:Authentication_type(认证类别):0-不控制,用户不需等路即可访问1-授权功能,需要授权才能访问的功能2-公共模块,用户等路即可访问的功能6.10角色-功能信息6.11代码类别说明:1)Code_rule(编码规则):为空表示没有编码规则,2)否则表示有编码规则,编码规则诸如“322”:表示层次第一级3位编码,第二级2位编码,第三级3位编码。