当前位置:文档之家› BBCA统一权限管理系统设计方案

BBCA统一权限管理系统设计方案

(此文档为word格式,下载后您可任意编辑修改!) 统一权限管理系统设计方案项目名称:承建单位:管理单位:意见签署页需求确认栏修订历史记录目录第1章引言 (1)1.1概述 (1)1.2目标 (1)1.3术语 (2)1.4参考资料 (3)第2章总体设计 (4)2.1运行环境 (4)2.2设计思路 (4)2.3认证服务模式 (6)第3章功能概述 (7)3.1系统用例 (8)3.2处理流程 (9)3.3应用系统设置 (11)3.4用户管理模块设置 (11)3.5权限及菜单设置 (13)3.6角色管理设置 (16)3.7应用系统调用方式 (17)3.7.1身份验证 (17)3.7.2获取用户权限列表 (17)3.7.3获取菜单列表 (17)3.7.4权限管理 (17)3.8概念模型 (17)第4章整合SSO (19)第1章引言1.1 概述权限管理是应用系统中不可缺少的一部分,通常的做法是每开发一个系统都要将这部分功能作为一个模块来开发,一般要开发过程包含以下几个步骤:1. 在数据库中建立用户和权限相关的表结构2. 开发用户、角色、权限管理等的功能模块3. 为系统的每个功能加入获取和判断权限的方法其实在不同的应用系统中,这些功能基本上都是一样的,每个系统都要加入这些大同小异的功能无疑会带来相当多的重复性工作,浪费我们不少宝贵时间。

虽然将这些功能模块化能减轻一些工作,但由于每个系统采用的开发环境不同(如有些系统采用.net技术,有些用J2EE技术),或者虽然采用的开发技术相同,但采用的框架也可能存在差异(如在J2EE技术下有的采用Hibernate,有的采用IBATIS或者直接调用JDBC等),造成将这些权限模块移植到不同的应用系统时还是需要对代码进行相当繁琐的修改。

1.2 目标为了提高功能的可复用性,结合公司以往的成功项目经验,通过统一的系统规划和系统设计,开发一套通用的权限管理系统,将用户管理、权限管理及单点登录功能都集成到该系统中。

该系统主要解决后期新开发的应用系统无需重新开发权限管理模块的工作,不管新开发的应用系统采用的是什么开发环境,都可以通过WebService 方法来调用权限管理系统提供的权限认证服务,而且还可以实现用户一次登录、网内通用,避免每进入一个系统都要重复登录的情况。

此外,可以对区域内各信息应用系统的权限分配和权限变更进行有效的统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,规范今后的应用系统的建设。

本文提供一种集成功能权限和数据权限的解决方法,以满足多层次组织中权限管理方面的集中控制。

本方法主要是基于RBAC(角色的访问控制方法)的进一步扩展和延伸,即在功能权限的基础上增加数据权限的管理,实现数据权限和功能权限的集中处理。

1.3 术语功能权限系统的所有权限信息。

权限具有上下级关系,是一个树状的结构。

如下图:系统管理用户管理查看用户新增用户修改用户删除用户图表1:功能权限的树状关系对于上面的每个权限,又存在两种情况,一个是只可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。

数据权限权限所能管理的资源,比如管理哪个部门。

用户应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。

他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。

它与权限、角色、组之间的关系都是n对n的关系。

角色为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。

1.4 参考资料第2章总体设计2.1 运行环境操作系统:Windows系列操作系统和Linux系列操作系统。

网络结构:通用权限管理系统采用B/S架构实现,可以在桌面应用和Web应用系统中通过WebService进行调用。

2.2 设计思路权限管理系统的设计结合以往公司的成功项目经验与当前技术快速发展状况,以服务为中心,根据业务需求发现服务、描述服务并设计服务的实现。

主要从以下几方面着手:1. 独立性:物理上独立:与各应用系统之间在物理上(部署时)相对独立(出于网络性能考虑,可以部署在相同网络中或部署到多个节点上以达到集群)。

数据独立:用户和权限数据存储在权限管理系统的数据库中,不同于应用系统的业务数据的存储。

技术独立:以Web Service服务方式提供接口,保证技术实现上与应用系统技术独立(J2EE、.NET程序都可通用)。

人事管理系统信息门户系统后勤系统权限管理系统科研管理系统单点登陆协同办公系统财务管理系统一卡通系统图表 2.1:权限管理系统与各应用系统的关系图2. 统一管理:各应用系统的用户和权限由权限管理系统统一管理,物理上权限管理系统与各应用系统相对独立,但逻辑上集中统一管理。

3. 安全性:基于DES加密机制,使数据在传输与存储上更安全与完整。

4. 松耦合:以服务的方式与应用系统整合,通过WebService请求获取权限列表。

5. 通用性:适合一般应用系统管理授权的要求,整合了其它项目的以往成功经验。

6. 基于角色的策略:将用户与访问权限分离,基于角色的策略更能实现以职责为中心的管理原则。

同时既可满足集中管理,也可满足分散管理的目标权限管理。

集中管理:由系统管理员对所有岗位的进行全面和具体的职责分工,用户权限按职责角色作出标准细致的划分,以达到集中管理。

分散管理:系统管理员为下级管理员设置部分权限,并交由下级管理员在其部分权限范围内进行细化各岗位权限,避免权限的漏洞,达到分散、分层管理。

7. 以应用系统为基线:权限管理系统对各应用系统的权限分开管理,以应用系统为基线,在应用系统上设置用户和权限。

8. 参数配置:通过在各应用系统上配置某些参数,使灵活IT技术能快速适应应用系统的实际业务。

如可以通过参数设置是否分配用户组功能,控制某一应用程序的角色是否分配用户组上。

用户组参数控制用户属于用户组用户对应角色用户组对应角色参数控制菜单权限功能权限数据权限菜单权限功能权限数据权限用户用户管理员角色下级角色用户对应角色人事管理系统单点登陆协同办公系统权限管理系统信息门户系统图表 3.2:权限管理系统实现框架2.3 认证服务模式由终端用户向各应用系统提交访问申请,各应用系统接收到终端用户WEB 的请求后,将终端用户的请求重定向到权限管理系统认证,从而建立起用户的权限认证的连接,并由权限管理系统将认证结果返回给应用系统。

用户登录到各应用系统后,根据用户的操作相应的向权限管理系统发出请求权限认证的服务,由权限管理系统的Web Service 接口作出相应的响应并还回权限认证结果给应用系统。

如下图:权限管理系统图表 2.3:认证服务模式第3章功能概述权限管理系统主要包含三层,分别为外部访问模块层、内部控制模块层、数据储存层。

外部访问模块层主要为外部应用程序提供Web Service接口,提供应用程序的访问与用户认证。

内部控制模块层主要是处理权限管理系统的内部业务逻辑,并通过数据储存层持久化数据。

图表 2.3:权限管理功能结构3.1 系统用例根据业务的分析可以得出以下用例图:权限分配用户同步接口<<WebService>>图表3.1:权限管理系统用例图3.2 处理流程权限管理系统内部处理流程如下:图表 3.2: 系统设置用户权限流程图应用程序处理请求流程:图表 3.3: 用户请求流程图3.3 应用系统设置权限管理系统可以管理多个应用系统的用户权限,如果某个应用系统需要通过本权限管理系统来管理用户和权限的话,那么首先要通过权限管理系统的[应用系统设置] 功能添加一个应用系统。

图表 3.4:添加应用系统3.4 用户管理模块设置本系统的用户是从属于应用系统的,用户的信息主要是为登录应用系统而服务。

故本系统的用户信息只存储和用户权限相关的信息,和用户相关的人员信息(如:性别、出生日期、联系电话、地址、电话等)还是保存在各个应用系统中,通过唯一标识来关联。

用户信息可以单个录入或批量导入,批量导入主要是应用于应用系统初始化数据时,将人员的信息批量导入到权限管理系统中作为用户信息。

导入的界面如下:窗体标题所属应用系统:人事管理系统JDBC设置驱动程序:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:@192.168.21.182:1521:orcl用户名:hruser密码:*******执行导入的sql语句Select userName,’’ as password,employeeName as fullName, ’’ asdepartment, idcardNo,email, ‘4’as systemId from employees开始导入取消图表 3.5:从应用系统批量导入用户信息备注:导入用户信息的sql语句必须包括:userName,password,fullName,department,idCardNo,systemId六个字段。

导入完成后可以通过用户查询界面看到这些用户,并可以通过编辑用户的信息来设置用户名、密码等信息,以及给用户分配角色,当一个用户属于多个角色时,其拥有的权限是这些角色所拥有的权限的并集。

人事系统用户学校办公室教务处李明角色权限人员管理人员基本信息维护调动管理组织机构管理机构管理合并机构图表 3.6:编辑用户信息以后应用系统中再增加人员时,可以通过手工方式进入权限管理系统中为该用户分配权限,也可以通过增加用户的WebService自动为该用户在权限管理系统中分配用户。

对于普通用户修改密码,可以在应用系统中请求WebService提供接口解决。

自定义用户属性:用户属性一般用于定义数据权限,当系统固定的用户属性不能满足要求时,可以自己定义用户属性。

3.5 组织机构管理3.6 权限及菜单设置菜单设置:主要作用是为了控制各应用系统中的菜单权限。

机构信息管理工资及福利管理图表 3.7:菜单设置界面菜单为树状结构,当上级菜单ID为“-1”时表示该菜单是一级菜单,没有上级。

每个菜单项都对应一个功能权限,当用户无权访问该功能权限时,该菜单项不可见。

◆功能权限设置:主要作用为了控制用户访问应用系统的功能范围人事信息管理新增工资及福利管理图表 3.8:权限设置界面权限也是树状结构,当上级权限ID为“-1”时表示该权限没有上级权限。

◆数据权限设置数据权限主要包数据表内容过滤与数据表的列过滤。

1.内容过滤可以通过设计过滤条件实现,如下:图表 3.9:数据过滤设置界面2. 行过滤主要是控制显示的结果列,属于业务范围可由应用系统自行实现。

相关主题