基于角色的两级授权管理系统—用户与角色管理.doc_第1页
基于角色的两级授权管理系统—用户与角色管理.doc_第2页
基于角色的两级授权管理系统—用户与角色管理.doc_第3页
基于角色的两级授权管理系统—用户与角色管理.doc_第4页
全文预览已结束

下载本文档

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

文档简介

基于角色的两级授权管理系统用户与角色管理电子信息工程学院 王鸿俊指导老师 张志勇 一、项目背景本次设计是对互连网网站进行权限的管理,以控制登录用户对网站信息的访问,对某些重要的资料信息进行访问限制,达到保护这些信息的目的。在设计中,完成权限、角色、用户的增加、删除、修改功能,实现系统权限管理。关键词:RBAC;权限;角色;用户二、理论基础本设计是基于角色的,其依据的理论模型是基于角色访问控制模型(RBAC model),设计参照RBAC96模型来加以实现。RBAC理论是在用户和权限之间引入角色这个层次,并且围绕角色这个新的概念来实施访问控制的策略。不同的角色和它所应具有的权限相联系,而用户成为某些角色的成员,这样用户便获得了这些角色的权限。 (一)RBAC的意义 在一个多用户多权限的环境下,为了给用户1、用户2分别分配四个单独的权限,就必须在用户与权限之间进行八次一对一的指派动作。如果面对的是一个有m个用户n个权限的庞大系统,这就需要m*n次指派动作,而且有些权限并不适合分配给任意的用户,在涉及到权限互斥约束方面,进行判断和限制,都将是十分复杂艰巨的任务。如果在系统中引入角色这一概念,这里的角色与现实中的实际职位或级别相联系,方便的添加、判断约束,不会将受限制的权限授给用户。还是在这一多用户多权限的系统中,将经常被使用的权限,如权限1、权限6、权限8指派给一个角色角色1,将权限3指派给角色3,把权限4指派给角色4。这样,只要将角色1、角色3指派给用户1,将角色1、角色4指派给用户2,用户1与用户2都仅仅用了两次就获得各自原来要四次才能获得的权限,效率提高了一倍。(二)RBAC的基本思想用户角色权限m:np:q图1-1 基于角色的基本思想三、系统分析(一) 可行性分析本系统使用成熟的Java、JDBC、SQL server 2000技术,参照发展、研究成熟的RBAC96模型,具有很强的实现能力,能够完成系统设计,实现权限的分配管理。(二) 需求分析1、系统权限 本系统中要控制的对象元素是指系统中各种功能模块、数据、界面元素(包括菜单、按钮等各种界面上能控制的控件)等,它们是主体能访问的各种对象。由于对象的机密程度不等,受到的保护程度亦有差别。2、系统角色 系统中的角色是权限的集合主体,是指系统中的工作或位置,它代表了一种资格、权利和责任。反映了系统内部一项具体的工作职责,被授予某种角色的用户将具备一定的职权。3、系统用户 系统中的用户有系统管理员和访问网站的客户两大类,是一个可以独立访问计算机系统中的数据或者用数据表示的其它资源的主体。四、系统总体设计(一) 对象定义对象是指系统中各种功能模块、数据、界面元素(包括菜单、按钮等各种界面上能控制的控件)等,它们是主体能访问的各种对象。由于对象的机密程度不等,受到的保护程度亦有差别。系统中的对象均由程序员通过系统提供的对象定义工具事先定义好系统要控制的对象。系统也只能控制这些事先已定义好的对象,因此,对象定义是整个系统的核心步骤直接影响后面的各个安全控制环节。建议由开发程序员进行初始化配置。对象定义的包括如下几步:功能模块定义:系统中除部分公用的界面、公用功能模块外,其它均为业务功能模块是用户完成各自不同的业务功能的主要算途径,也是我们安全管理要保护的重点对象,所以我们必须对业务功能模块定义。有定义的功能模块对象我们就有可能组织权限根据用户需要完成的工作配置用户业务功能菜单,这也符合最少特权策略。 界面元素控制:除了功能菜单要受到控制外,如要控制功能模块的界面元素其功能模块界面元素也需定义,大部分界面元素均包含有相关的业务功能操作,所以对相应操作的界面元素是进行定义是有必要的。 数据信息控制:业务功能模块的大部分界面元素是显示和操作数据内容的基础,也是用户对读取数据和操作数据的主要途径,为了数据信息的安全有必要对这界面元素的操作数据予以采取安全保密措施。这就需要对这些界面元素定义相关的数据约束条件。(二) 权限定义在定义好系统对象的前提下,定义对象的在不同情况的访问类型,希望对象在不同情况下具有不同的访问类型,这就需要定义对象的权限。定义权限就是定义对象访问控制和数据访问控制。为了表述方便我们对权限用一个三元组符号来表示P(o,t,p),其中o 表示访问对象;t 表示访问类型;p 表示谓词。表示在谓词p为真时对于对象o可进行t类型的访问。权限定义系统安全管理基础步骤之一,只有给各种对象定义好访问的权限,才能给角色配置权限,基于角色管理才能成为可能。系统提供定义权限的工具,系统管理员可根据实际需求定义对象的权限。(三) 角色定义基于角色的访问控制方法的思想就是把对用户的授权分成两部份,用角色来充当用户行驶权限的中介。这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系。系统提供角色定义工具允许用户根据自己的需要(职权、职位以及分担的权利和责任)定义相应的角色。角色之间有相应继承的关系,当一个角色r1继承另一个角色r2时,r1就自动拥有了r2的访问权限(表示r1-r2)。角色继承关系自然的反映了一个组织内部权利和责任的关系,为方便权限管理提供了帮助。角色继承关系提供了对已有角色的扩充和分类的手段,使定义新的角色可以在已有角色的基础上进行,扩充就是通过增加父角色的权限去定义子角色,分类通过不同子角色继承同一父角色来体现。另外还允许多继承,即一个角色继承多个父角色,多继承体现对角色的综合能力。(四)用户定义 系统的最终使用者是用户,因此必须建立用户的鉴别机构,登记用户的身份信息。在系统中定义可登录的用户操作系统是系统安全管理所必须步骤,也是人与系统的接口。 (五)权限审查 在授权完成后可检查登录用户所的拥有的能力表信息,审查给用户的权限是合适,如不合适可重新进行用户委派和收回部分权限的处理。目前系统只能以对用户组管理的模式对一个用户组内的用户可进行部分权限收回处理。(六)用户验证 安全保护的首要问题是鉴别用户身份,在本系统中使用登陆名、密码验证来鉴别用户身份。 (七) 权限管理内部功能实现图 在定义好对象、权限、角色、用户的前提下,系统就可以设计实现如图1-4所示的权限管理功能。图1-2 权限管理内部功能实现图五 详细设计与实现为实现权限管理系统功能,本设计在系统管理员业务模块中分为用户管理模块、角色管理模块、权限管理模块、数据库操作模块四大模块来开发。系统抽象出三个实体:权限、角色、用户,为之定义了三个类:User、Role、Permission;定义类SQLSER提供数据库服务。六 结论在系统中,定义了四个类:User类、Role类、Permission类、SQLSER类,设计出添加用户、删除用户、修改用户的用户管理界面;设计出添加角色、删除角色、修改角色的角色管理界面;设计出添加权限、删除权限、修改权限的权限管理界面;设计出显示系统用户-角色-权限指派关系的显示界面作为辅助查询、验证,实现了基本的权限管理功能,体现出RBAC96的控制思想。系统实现上还不尽完善,如未能及时实现系统的通用行,其通用性的实现体现应在在添加角色的界面上,动态地生成待选权限条目,但当时认识局限于使用复选框作为待选权限的表示,由于至今未能解决在面板上动态添加复选框的问题,使这一想法陷入困境。后在老师的指导下,选择了列表显示,只是还未能用于施行。整个系统有待进一步的详细设计,使系统更具人性化,更友善,功能更加完善强大。七 主要参考文献1、王启原.数据库与信息系统的安全.科学出版社:44-632、张志勇./rbac/rbac.htm3、邵维忠著.面向对象的系统分析.清华大学出版社:21-444、郑人杰,殷人昆,陶永雷.实用软件工程.第二版.清华大学出版社,2003年:17-1505、Mary Campione, Kathy Walrath, Alison Huml 著.马朝晖,陈美红 译.J

温馨提示

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

评论

0/150

提交评论