权限管理设计

上传人:cn****1 文档编号:473048662 上传时间:2022-09-01 格式:DOCX 页数:11 大小:113.96KB
返回 下载 相关 举报
权限管理设计_第1页
第1页 / 共11页
权限管理设计_第2页
第2页 / 共11页
权限管理设计_第3页
第3页 / 共11页
权限管理设计_第4页
第4页 / 共11页
权限管理设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《权限管理设计》由会员分享,可在线阅读,更多相关《权限管理设计(11页珍藏版)》请在金锄头文库上搜索。

1、对EMS权限管理模块设计1. 权限设计概述1.1引言随着Web服务的复杂度增加以及用户数量和种类的增多,安全问题在理论及工程上都 是一个必须考虑的问题,而权限管理是安全问题中一个很重要的方面。因此本文针对权限做 了一个分析。权限可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的 逻辑表达式是否为真。1.2意义用户管理及权限管理一直是应用系统中不可缺少的一个部分系统用户很多,系统功能也很多不同用户对系统功能的需求不同出于安全等考虑,关键的、重要的系统功能需限制部分用户的使用出于方便性考虑,系统功能需要根据不同的用户而定制1.3目标直观,因为系统最终会由最终用户

2、来维护,权限分配的直观和容易理解,显得比较重要, 除了功能的必须,更主要的就是因为它足够直观。简单,包括概念数量上的简单和意义上的简单还有功能上的简单。想用一个权限系统解 决所有的权限问题是不现实的。设计中将变化的“定制”特点比较强的部分判断为业务逻辑, 而将相同的“通用”特点比较强的部分判断为权限逻辑就是基于这样的思路。扩展,采用可继承的方式解决了权限在扩展上的困难。引进Group概念在支持权限以 组方式定义的同时有效避免了权限的重复定义。2. 基于角色的权限管理设计(Role-Based AccessControl ,RBAC)2.1权限管理用例图2.2用例图描述超级管理员:系统中默认的角

3、色,它是系统中拥有最高权限的角色,它不仅能够管理其 他的管理员和用户,而且还可以对系统中每个模块的任一功能进行操作、维护。普通管理员:它是由超级管理员创建的,并授予权限,它能够管理系统中大部分的功能, 它可以查看所有普通管理员、普通用户的信息,它只能对由它自己创建的用户进行编辑、删 除操作,和管理拥有权限的模块。普通用户:它是系统中最低权限的角色,它只能对自己拥有的权限进行操作,一般情况 下,它的权限是对信息的浏览和对自己信息的录入,修改。登陆系统:根据用户拥有的权限不同,用户所能操作的功能多少就不同,所以在登陆系 统的时候就要对用户的权限进行判断。用户管理:这里对本系统的登录用户进行维护。包

4、括,新建、删除、编辑、注销等;系 统初始化的时候,用户管理中默认只有一个拥有超级管理员角色的用户,因此在初始化登陆 的时候,只能用这个用户登陆,其他的用户由这个用户创建并授予角色。角色管理:角色是赋予系统用户的职权名称。包括,新建、删除、编辑、注销等;系统 初始化的时候,角色管理中默认只拥有一个超级管理员的角色,其他角色由拥有这个角色的 用户创建并授权。其他模块:其他模块的每个功能都拥有一个唯一Id,根据用户登陆的权限,再确定这 些功能是否对用户开放。3. 权限设计思路3.1基于角色的访问控制RBACRBAC的主要思想是:权限(Permissions)是和角色(Roles)相联系的,而用户(U

5、sers) 则被指定到相应的角色作为其成员。这样就使权限的管理大大简化了。系统的权限控制主要是采用基于角色的访问控制,把权限绑定到角色上,当用户要操作 权限时,就把角色赋给用户。而且在需要撤回权限时,只需把角色上的权限撤回就行了。3.2思路为了设计一套具有较强可扩展性的权限管理,需要建立用户、角色和权限等数据库表, 并且建立之间的关系,具体实现如下3.3用户用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离 出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。用户 通常具有以下属性:编号,在系统中唯一。名称,在系统中唯一。用户口令。注释,描

6、述用户或角色的信息。3.4角色角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有 以下属性:编号,在系统中唯一。名称,在系统中唯一-(监控人员)注释,描述角色信息.-3(在线监控人员)3.5权限权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:在系统中唯一。编号名称,在系统中唯一-3(添,删,改,查)描述权限信息.-3允许增加监控对象注释3.6用户与角色的关系一个用户(User)对应一个角色(Role),一个角色可以被多个用户使用,用户角色 就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥

7、有对某角色(Role):RoleID(角色编号) 01 02 03 04RoleName(角色名称)系统管理员监控人员调度人员一般工作人员RoleNote(角色注释)监控系统维护管理员在线监控人员调度工作人员工作人员用户角色(User_Role): UserRoleID 1 2UserID12RolelD0202UserRoleNote(用户角色注释)用户“张三”被分配到角色“监控人员”用户“李四”被分配到角色“监控人员”从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。种资源的权限,例如用户(User):UserIDUserNameUserPwd1张三xxxxxx2李四xxxx

8、xx3.7权限与角色的关系一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角 色。RoleName(角色名称)系统管理员监控人员调度人员一般工作人员例如:角色(Role):RoleUUID(角色 UUID)01020304RoleRemark(角色注释)监控系统维护管理员在线监控人员调度工作人员工作人员权限(Privilege):PrivilegeUUID(权限 UUID)PrivilegeName(权限名称)PrivilegeRemark(权限注释)0001增加监控允许增加监控对象0002修改监控允许修改监控对象0003删除监控允许删除监控对象0004察

9、看监控信息允许察看监控对象角色权限(Role_ Privilege):RolePermissionIDRoleUUIDPrivilegeUUIDRole_PrivilegeRemark(角色权限注释)1010001角色“系统管理员”具有权限“增加监控”2010002角色“系统管理员”具有权限“修改监控”3010003角色“系统管理员”具有权限“删除监控”4010004角色“系统管理员”具有权限“察看监控”5020001角色“监控人员”具有权限“增加监控”6020004角色“监控人员”具有权限“察看监控”由以上例子中的角色权限关系可以看出,角色权限可以建立角色和权限之间的对应关 系。3.8建立用

10、户权限用户权限系统的核心由以下三部分构成:创造权限、分配权限和使用权限。第一步由Creator创造权限(Permission),Creator在设计和实现系统时会划分,指 定系统模块具有哪些权限。第二步由系统管理员(Administrator)创建用户和角色,并且指定用户角色(User Role)和角色权限(RolePermission)的关联关系。第三步用户(User )登陆系统,对自己拥有的权限进行管理、使用。4. 权限的具体实现模式模式一:用户-角色-权限(最通用的方法)4.1数据库结构4.1.1用户表:表名:user_control_tab含义:用户表字段名称字段类型字段长度是否是关键

11、字是否为 空字段含义字段说明idbigint8是否编号主键,自增uuidbinary16否UUID唯role_uuidbinary16否角色UUID对应角色表的UUIDuser_namevarchar16否用户名只能是数字,字母,下划线组成user_pwdvarchar16否密码密码的长度在6-16个字符之间real_namevarchar6否真实姓名要求填写用户真实姓名sexint2否性别0:男1:女phonebigint11否移动电话用户的手机号码emailvarchar100否邮箱用户的邮箱remarkvarchar100是备注4.1.2角色表:表名:role_tab含义:角色表字段名称

12、字段类型字段长度是否是关键字是否为 空字段含义字段说明idbigint8是否编号主键,自增uuidbinary16否UUID唯role_namevarchar16否角色名称只能是数字,字母,下划线组成remarkvarchar100备注4.1.3权限表:表名:privilege_tab含义:权限表字段名称字段类型字段长度是否是关键字夏丕 是否为空字段含义字段说明idbigint8是否编号主键,自增uuidbinary16否UUID唯pri_namevarchar16否权限名称只能是数字,字母,下划线组成ext_idvarchar100否功能id页面功能的id,唯一remarkvarchar10

13、0备注4.1.4角色权限表:表名:role_privilege_tab含义:角色权限表表字段名称字段类型字段长度是否是关键字是否为空字段含义字段说明idbigint8是否编号主键,自增role_uuidbinary16否角色UUID引用角色表的UUID,唯pri_uuidbinary16否权限UUID引用权限表的UUID,唯remarkvarchar100备注4.2在控制层写if/else判断条件用户登入系统后,就通过其角色加载所有可以访问的页面,保存到Session, 一直到用 户退出系统或者session过期。用户访问页面时,添加一个Dispatcher( tapestry5方式), 在这个Dispatcher中解析出页面地址如/cs/deposit,和用户保存在Session里的可访问页 面作比较,如果存在则继续,不存在则跳到登入页面。模式二:Ralasafe第三方组件(图形界面的形式,简单易用)安装、配置与使用手册:http:/ 耦合,采用全景式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号