《BBCA统一权限管理系统设计方案》由会员分享,可在线阅读,更多相关《BBCA统一权限管理系统设计方案(23页珍藏版)》请在金锄头文库上搜索。
1、 权限管理系统方案BBCA统一权限管理系统设计方案项目名称: 承建单位: 管理单位: 意见签署页需求确认栏用户单位负责人日期:用户单位联络人日期:承建单位项目负责人日期:1 1.1 概述权限管理是应用系统中不可缺少的一部分,通常的做法是每开发一个系统都要将这部分功能作为一个模块来开发,一般要开发过程包含以下几个步骤:1. 在数据库中建立用户和权限相关的表结构2. 开发用户、角色、权限管理等的功能模块3. 为系统的每个功能加入获取和判断权限的方法其实在不同的应用系统中,这些功能基本上都是一样的,每个系统都要加入这些大同小异的功能无疑会带来相当多的重复性工作,浪费我们不少宝贵时间。虽然将这些功能模
2、块化能减轻一些工作,但由于每个系统采用的开发环境不同(如有些系统采用.net技术,有些用J2EE技术),或者虽然采用的开发技术相同,但采用的框架也可能存在差异 (如在J2EE技术下有的采用Hibernate,有的采用IBATIS或者直接调用JDBC等),造成将这些权限模块移植到不同的应用系统时还是需要对代码进行相当繁琐的修改。1.2 目标为了提高功能的可复用性,结合公司以往的成功项目经验,通过统一的系统规划和系统设计,开发一套通用的权限管理系统,将用户管理、权限管理及单点登录功能都集成到该系统中。该系统主要解决后期新开发的应用系统无需重新开发权限管理模块的工作,不管新开发的应用系统采用的是什么
3、开发环境,都可以通过WebService方法来调用权限管理系统提供的权限认证服务,而且还可以实现用户一次登录、网内通用,避免每进入一个系统都要重复登录的情况。此外,可以对区域内各信息应用系统的权限分配和权限变更进行有效的统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,规范今后的应用系统的建设。本文提供一种集成功能权限和数据权限的解决方法,以满足多层次组织中权限管理方面的集中控制。本方法主要是基于RBAC(角色的访问控制方法)的进一步扩展和延伸,即在功能权限的基础上增加数据权限的管理,实现数据权限和功能权限的集中处理。1.3 术语l 功能权限系统的所有权限信息。
4、权限具有上下级关系,是一个树状的结构。如下图:图表 1:功能权限的树状关系对于上面的每个权限,又存在两种情况,一个是只可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。l 数据权限权限所能管理的资源,比如管理哪个部门。l 用户应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0n个角色,可属于0n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。l 角色为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、
5、管理员、用户、访客等角色。1.4 参考资料序号文档名称作者发布日期1234第2章 总体设计2.1 运行环境l 操作系统:Windows系列操作系统和Linux系列操作系统。l 网络结构:通用权限管理系统采用B/S架构实现,可以在桌面应用和Web应用系统中通过WebService进行调用。2.2 设计思路权限管理系统的设计结合以往公司的成功项目经验与当前技术快速发展状况,以服务为中心,根据业务需求发现服务、描述服务并设计服务的实现。主要从以下几方面着手:1. 独立性:l 物理上独立:与各应用系统之间在物理上(部署时)相对独立(出于网络性能考虑,可以部署在相同网络中或部署到多个节点上以达到集群)。
6、l 数据独立:用户和权限数据存储在权限管理系统的数据库中,不同于应用系统的业务数据的存储。l 技术独立:以Web Service服务方式提供接口,保证技术实现上与应用系统技术独立(J2EE、.NET程序都可通用)。图表 2.1:权限管理系统与各应用系统的关系图2. 统一管理:各应用系统的用户和权限由权限管理系统统一管理,物理上权限管理系统与各应用系统相对独立,但逻辑上集中统一管理。3. 安全性:基于DES加密机制,使数据在传输与存储上更安全与完整。4. 松耦合:以服务的方式与应用系统整合,通过WebService请求获取权限列表。5. 通用性:适合一般应用系统管理授权的要求,整合了其它项目的以
7、往成功经验。6. 基于角色的策略:将用户与访问权限分离,基于角色的策略更能实现以职责为中心的管理原则。同时既可满足集中管理,也可满足分散管理的目标权限管理。l 集中管理:由系统管理员对所有岗位的进行全面和具体的职责分工,用户权限按职责角色作出标准细致的划分,以达到集中管理。l 分散管理:系统管理员为下级管理员设置部分权限,并交由下级管理员在其部分权限范围内进行细化各岗位权限,避免权限的漏洞,达到分散、分层管理。 7. 以应用系统为基线:权限管理系统对各应用系统的权限分开管理,以应用系统为基线,在应用系统上设置用户和权限。8. 参数配置:通过在各应用系统上配置某些参数,使灵活IT技术能快速适应应
8、用系统的实际业务。如可以通过参数设置是否分配用户组功能,控制某一应用程序的角色是否分配用户组上。图表 3.2:权限管理系统实现框架2.3 认证服务模式由终端用户向各应用系统提交访问申请,各应用系统接收到终端用户WEB的请求后,将终端用户的请求重定向到权限管理系统认证,从而建立起用户的权限认证的连接,并由权限管理系统将认证结果返回给应用系统。用户登录到各应用系统后,根据用户的操作相应的向权限管理系统发出请求权限认证的服务,由权限管理系统的Web Service接口作出相应的响应并还回权限认证结果给应用系统。如下图:图表 2.3:认证服务模式第3章 功能概述权限管理系统主要包含三层,分别为外部访问
9、模块层、内部控制模块层、数据储存层。外部访问模块层主要为外部应用程序提供Web Service接口,提供应用程序的访问与用户认证。内部控制模块层主要是处理权限管理系统的内部业务逻辑,并通过数据储存层持久化数据。图表 2.3:权限管理功能结构3.1 系统用例根据业务的分析可以得出以下用例图:图表 3.1:权限管理系统用例图3.2 处理流程权限管理系统内部处理流程如下:图表 3.2: 系统设置用户权限流程图应用程序处理请求流程:图表 3.3: 用户请求流程图3.3 应用系统设置权限管理系统可以管理多个应用系统的用户权限,如果某个应用系统需要通过本权限管理系统来管理用户和权限的话,那么首先要通过权限
10、管理系统的 应用系统设置 功能添加一个应用系统。图表 3.4:添加应用系统3.4 用户管理模块设置本系统的用户是从属于应用系统的,用户的信息主要是为登录应用系统而服务。故本系统的用户信息只存储和用户权限相关的信息,和用户相关的人员信息(如:性别、出生日期、联系电话、地址、电话等)还是保存在各个应用系统中,通过唯一标识来关联。字段名描述用户ID无业务意义主键用户名登录某应用系统的用户名密码登录应用系统的密码姓名该用户的姓名唯一标识如身份证号、学生证号等,根据此标识关联应用系统中的人员信息。部门用户所属的部门,可用于设置数据权限Email可能会增加通过邮件地址找回密码等功能。所属应用系统上一步分配
11、的应用系统用户信息可以单个录入或批量导入,批量导入主要是应用于应用系统初始化数据时,将人员的信息批量导入到权限管理系统中作为用户信息。导入的界面如下:图表 3.5:从应用系统批量导入用户信息备注:导入用户信息的sql语句必须包括:userName,password,fullName,department,idCardNo,systemId六个字段。导入完成后可以通过用户查询界面看到这些用户,并可以通过编辑用户的信息来设置用户名、密码等信息,以及给用户分配角色,当一个用户属于多个角色时,其拥有的权限是这些角色所拥有的权限的并集。图表 3.6:编辑用户信息以后应用系统中再增加人员时,可以通过手工方
12、式进入权限管理系统中为该用户分配权限,也可以通过增加用户的ebService自动为该用户在权限管理系统中分配用户。对于普通用户修改密码,可以在应用系统中请求WebService提供接口解决。自定义用户属性:用户属性一般用于定义数据权限,当系统固定的用户属性不能满足要求时,可以自己定义用户属性。3.5 组织机构管理3.6 权限及菜单设置u 菜单设置:主要作用是为了控制各应用系统中的菜单权限。图表 3.7:菜单设置界面菜单为树状结构,当上级菜单ID为 “-1”时表示该菜单是一级菜单,没有上级。每个菜单项都对应一个功能权限,当用户无权访问该功能权限时,该菜单项不可见。字段名字段类型可为空默认值描述M
13、ENUIDVARCHAR2(20)N菜单IDPARENTIDVARCHAR2(20)N上级菜单IDMENUNAMEVARCHAR2(20)N菜单名称DESCRIPTIONVARCHAR2(50)Y描述IDORDERNUMBER(12)N排序值ICONVARCHAR2(50)Y图标URLVARCHAR2(255)Y链接文件PATHVARCHAR2(255)N路径PURVIEWIDVARCHAR2(20)N权限IDOPENTYPECHAR(1)Y00-正常;1-全屏;2-新窗口u 功能权限设置:主要作用为了控制用户访问应用系统的功能范围图表 3.8:权限设置界面权限也是树状结构,当上级权限ID为
14、“-1”时表示该权限没有上级权限。字段名字段类型可为空默认值描述PURVIEWIDVARCHAR2(20)N权限IDPPURVIEWIDVARCHAR2(20)Y上级权限编码PURVIEWNAMEVARCHAR2(50)N权限名称PATHVARCHAR2(255)N路径u 数据权限设置数据权限主要包数据表内容过滤与数据表的列过滤。1. 内容过滤可以通过设计过滤条件实现,如下:图表 3.9:数据过滤设置界面2. 行过滤主要是控制显示的结果列,属于业务范围可由应用系统自行实现。3.7 角色管理设置角色管理主要是管理授权,允许指定应用程序中的用户可以访问的资源。角色管理允许向角色分配系统权限(如人员管理员的增加操作、修改操作等),从而将控制用户的访问权限。在编辑角色的操作中,用户可以为该角色选择相应的权限,如下图:图表 3.10:角色设置界面3.8 应用系统调用方式3.8.1 身份验证用户登录一个应用系统时,当他提交登录表单后,应用系统调用本权限管理系统的身份验证服务来判断用户名和密码是否匹配。参数列表:系统ID(所属应用系统),用户名,密码返回