基于角色的动态用户权限管理的研究与实现_第1页
基于角色的动态用户权限管理的研究与实现_第2页
基于角色的动态用户权限管理的研究与实现_第3页
基于角色的动态用户权限管理的研究与实现_第4页
基于角色的动态用户权限管理的研究与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于角色的动态用户权限管理的研究与实现金松河 1,2, 陶宏才 1, 黄 敏 2(1. 西南交通大学 计算机与通信工程学院 , 四川 成都 610031;2. 郑州轻工业学院 计算机科学与工程系 ,河南 郑州 450002摘 要 用户权限管理是管理信息系统 (MIS 设计中的重要环节 , 是系统安全运行的有力保证 . 简要介绍了基于角色的权 限管理 (RBAC , 并提出了一种通用的动态用户权限管理方案及实现方法 .关键词 MIS ; 权限管理 ;RBAC ; 角色 ; 菜单项【中图分类号】 TP309 【文献标识码】 A 【文章编号】 1672(- , M 员也与日俱增 . , M IS

2、. 为此 , 人们 设计了各种各样的权限管理模型 , 以确保只有被授 权的用户才能访问某些敏感的数据和信息 , 其中基 于角 色 的 权 限 控 制 (Role-Based Access Control , RBAC 模型得到了越来越广泛的认同 . 本文结合笔 者开发网络 M IS 系统的实践 , 论述了如何利用基于 角色的存取控制模型 , 为 M IS 建立相应的安全控制 机制 , 实现动态 、 安全 、 灵活 、 方便的用户权限管理 .1 BRAC 的工作原理用户所具有的访问权限决定了他是否有权访问 某一特定资源或执行某种特定操作 . 传统的权限控 制是通过将访问权限直接和用户对应起来的方

3、式实 现的 . 但随着网络数据库和分布式数据库的快速发 展 ,M IS 的规模日益增大 、 用户与日俱增 , 并且他们 可访问的信息资源的结构也日趋复杂 , 如果还使用 这种传统的访问控制机制 , 那么存取权限的管理将 会变的十分复杂 , 难以满足现实的需求 , 由此产生了 RBAC. 下面我们简单介绍一下 RBAC 中的几个重要 概念 . (1 用户 :对数据对象进行操作的主体 ; (2 权 限 :对某一数据对象的可操作权利 ; (3 角色 :是为用 户或用户组定义的一组权限集 , 用于表明拥有该角 色的用户所具有的对数据库对象 (表 、 视图 、 存储过 程 的访问权限 . 将这个概念引入

4、到权限管理中来 , 就使得角色成为联系用户和权限的桥梁 . (4 角色层 次 :为了提高效率 , 避免相同权限的重复设置 ,RBAC 提出了 “ 角色层次” 的概念 . 它允许将某一些角色定, 通过角色之间的继承关系 , 间接地拥有其子角色所定义的权限 . 在角色层次 关系图中 , 处于最上面的角色拥有最大的访问权限 , 越下面的角色拥有的权限越少 . 例如 :当角色 A 的权 限集是另一角色 B 的权限集的子集时 , 我们只需要 对角色 A 进行权限授权 , 不须将相同的权限再次赋 予角色 B. 因为通过角色的继承 , 将角色 A 设置为角 色 B 的子角色就可以了 . 这样就在最大程度上减

5、轻 了系统管理员的工作负担 , 同时也减少了出错的可 能性 . (5 约束 :通过设置约束条件 , 可以对角色授权 和用户授权进行必要的限制 , 否则就可能为欺诈行 为创造了机会 , 给企业带来不可预测的损失 .在 RBAC 的体系中 , 用户和角色 、 权限和角色都 是多对多的关系 , 即一个用户可以被赋予多个角色 , 一个角色也可以被赋予多个用户 , 一个角色可以拥 有多项权限 , 一个权限可以分配给多个角色 .一个系统用户可以通过他具有的角色的权限来 判断他可以访问的系统资源和对该资源可进行的操 作 , 这就是 RBAC 最基本的工作原理 .2 RBAC 的特点RBAC 具有很强的灵活性

6、和实用性 , 其主要特点如下 :(1 简化数据对象的授权管理 . DBA 不用每次将 一组权限赋予个每个用户 . 而只需将此权限集授予 特定的角色 , 然后再将角色授予应该具有该组权限 集的所有用户即可 .(2 动态权限管理 . 一方面 , 当数据库对象的一 组访问权限需要改变时 , 只需要改变相应的角色的 权限 , 所有被授予该角色的用户都将自动修改他们收稿日期 :2004-01-07作者简介 :金松河 (1976 , 男 , 河南人 , 硕士研究生 , 助教 , 主要从事数据库 、 信息安全的研究 .第 13卷第 3期2004年 7月云南民族大学学报 (自然科学版 Journal of Y

7、unnan Nationalities University (Natural Sciences Edition Vol. 13,No. 3J ul. 2004 所具有的权限 ; 另一方面 , 由于权限控制是基于角色 的 , 而不是基于用户的 , 所以如果发生人员调动 , 只 需要给其赋予新的角色即可 , 无须做更多的操作 .这些特点使得 R BAC 非常适合应用于大型的企业 组织 , 而且也符合人们对现实世界中事务的理解习惯 .3 设计思想一个大型的 M IS 往往建有大量的数据对象 , 与 这些对象有关的用户数量也极其庞大 , 从用户权限 管理工作非常繁重 .在实际应用中 , 用户提供各项

8、业务处理功能 , , . , 将业务中的基本子功能作 为基本的菜单项 , 然后通过 DBA 的设置 , 使不同的用 户执行不同的菜单项集 , 但为每一个用户维护其所能 执行的全部基本菜单项的工作不是一件轻松的事情 ; 所以 , 需要设计出一种通用权限管理方案 , 以减轻 DBA 的负担 . 我们可以根据各业务工作岗位的职能范 围 , 使每个工作岗位 (角色 对应一组基本菜单项 , 然后再利用角色的继承性 , 并将某一角色授予某类用户 , 使该类用户拥有对应的一系列访问权限 . 这样就 可以大大的降低 DBA 的工作量 , 因为 , 若某用户的工 作岗位发生变化 , 只需要改变该用户的岗位角色

9、, 其 存取权限将自动改变 ; 若某岗位职能发生变化 , 也只 需要调整该岗位角色所包含的基本菜单项 , 属于该岗 位的所有人员的存取权限也自动随之改变 . 这种处理 方式既符合业务上的习惯 , 又大大降低了操作的复杂 性 . 系统中各种对应关系如图 1所示 .图 1 对应关系图对于一个具体的用户如何判断是否有权限访问 特定的系统资源呢 ? 下面介绍一下判断流程 .当一个用户要求访问系统中的某种资源时 , 首 先判断该用户所属角色是否有权限访问该系统资 源 , 如果没有该项权限时 , 再判断该角色是否有子角 色 , 如果没有 , 就直接拒绝其访问 ; 否则 , 就去查询其 子角色是否拥有该权限

10、 , 只有当该角色的所有子角 色以及它的子角色的子角色都没有访问权限的时 候 , 才拒绝访问 .4 系统实现. 可以建立如 表 1 用户信息表 字段名 注释 User id用户编号 User name 用户名 Password 用户密码Role id表 2 角色信息表 字段名 注释 Role id角色编号 Role type是否有子角色表 3 角色层次表 字段名 注释 Role id1角色编号 Role id2子角色编号表 4 菜单项与角色关系表 字段名 注释 Menuitem id菜单项编号 Role id角色编号表 5 角色互斥表 字段名 注释 Role id1角色编号 1Role id2

11、角色编号 2表 6 菜单项互斥表字段名 注释 MenuItem id1菜单项编号 1MenuItem id2菜单项编号 2 对于用户的权限控制 , 可以通过以下两种方式来实现 :(1 在用户登录系统的时候 , 系统主动去获 取该用户所拥有的功能权限 . 在用户进入系统后 , 只 显示那些用户有权访问的功能菜单 , 将那些用户不 具有访问权限的功能菜单设置为对该用户不可见 ; (2 在用户具体提出访问某一资源的请求时 , 系统才 去检查该用户是否具有访问该资源的权限 .(下转第 231页 722第 3期 金松河 , 等 :基于角色的动态用户权限管理的研究与实现 The interface bet

12、ween C/C +and assembler in gcc/g +WAN G Xun 2bao 2,CHEN Fu 2long 1,L I Ming 2dong 3(1. Department Computer Science and Technology ,Anhui Normal University ,Wuhu 241000,China ;2. An 2hui Institute of International Business , Hefei 230051,China ;3. Department Computer Science ,West China Nor 2mal Univ

13、ersity ,Nanchong 637002,China Abstract :Asa low -grade language , assemble language operating system , which can bring to some functions that other languages , between as 2sembler and C/C +program that calls it in gcc/Linux , is analyzed in detail.K ey w ords :gcc;g +; ; (责任编辑 :杨多立 (上接第 227页 5 结束语本文

14、在介绍了 RBAC 的基础上 , 提出了一种动态用户权限管理的实现方案 . 该方案已在笔者开发的某公 司生产管理信息系统中得到了实现 , 使用起来方便 、 灵活 、 安全 , 并且还大大地降低了 DBA 的工作负担 , 具有 较高的推广价值 . 参考文献 :1 何玉洁 , 武欣 , 邓一凡 . 数据库设计 M .北京 :机械工业出版社 ,2001. 2 刘起原 , 刘怡 . 数据库与信息系统的安全 M .北京 :科学出版社 ,2000. 3 孙炳旭 , 梁茂盛 . SQL Server 使用管理指南 M .北京 :机械工业出版社 ,2000.Research and implementatio

15、n of dynamic user -privilege management based on roleJ IN Song -He 1,2, TAO Hong -Cai 1, HUAN G Min 2(1. School of Computer &Communication Engineering , Southwest Jiaotong University ,ChengDu 610031,China ; 2. Department of C omputer Science &Engineering ,Zhengzhou Institute of Light Industry , ZhengZhou 450002,China Abstract :User-privilege management is very important in design of M IS and is safe assurance of system. This pap

温馨提示

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

评论

0/150

提交评论