基于RBAC模型权限管理的设计与实现

来源 :科技与企业 | 被引量 : 0次 | 上传用户:never0005
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】对RBAC模型分析和研究的基础上,对RBAC模型进行了改进,设计了可以同时对角色和用户进行授权的更灵活的权限管理模型,满足了企业多样化的授权管理需要。
  【关键词】RBAC;权限;角色
  RBAC(Role—Base Access Control)模型[1—2]是目前最为广泛接受和使用最广泛的权限模型,该模型是基于角色进行授权的,虽然授权的机制很好,但有时候却不太符合国内的实际情况,特别是某些企业的管理不太规范的情况下。在实际项目中,不仅仅对角色授权,还要支持直接对用户单独授权。当然对用户的授权可以通过创建一个不存在的角色通过对角色的授权来实现,但用户往往不太赞同,同时会造成角色迅速膨胀,就出现了针对用户进行授权的需求,在实际操作宗也往往采用直接对用户进行授权。这样一来,就需要对RBAC再次进行扩展来满足需要。在本系统的开发中,就采用了针对角色授权和针对用户授权相结合的方式来进行。该模型既不是特别简单也不特别复杂,忽略了很多概念也创建了很多概念,它能比较灵活的实现授权的灵活度,能够适应不太规范的企业,克服了RBAC模型只能对角色进行授权的缺点。
  1.权限管理的设计
  1.1对象及权限定义
  利用基于角色的访问控制进行用户权限设定时,首先要进行的就是确定系统对象及对对象的访问权限,实际上就是对系统资源的访问权限。这里的对象指系统中各种功能模块、数据、操作等等,是主体能访问的各种对象。由于对象的机密情况及所属单位的不同,能对他们操作的用户也不相同。
  1.2角色定义与权限分配
  (1)角色定义
  基于角色的访问控制方法就是用角色来充当用户行使权限的中介,对角色进行授权,为用户分配角色,就等于把角色的权限分配给用户,这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系[3],即一个用户可以拥有多个角色,一个角色也可以供多个用户使用。
  即如果某个用户拥有角色M的同时还拥有N的角色,即双重甚至多重角色,那么在默认的情况下,系统会为该用户分配角色M和角色N拥有的所有权限,它的权限为两个角色的权限的合集。因此在为用户分配权限之前应该首先创建角色,通过角色为用户授权。
  (2)为角色授權
  从角色的定义我们可以看出,角色本质上就是一组对资源进行操作的权限的集合。在一个系统或企业中,用户的人数很多,但企业中人员的角色数总是为数不多的有限个,因此先进行角色的定义和授权,企业中的人员在根据自己的身份选择相应的角色是进行权限分配的一种广泛使用的有效途径。
  因此在本系统的权限管理模块,就是采用基于角色的权限管理,先进行角色的定义和权限分配,然后在进行用户的授权。
  由于本系统对传统的基于角色的权限模型进行了扩充,使其既能对角色进行授权,也能单独对用户进行个别授权,同时不同角色的权限有可能发生冲突,因此还要设置角色的优先级,在角色权限冲突时不至于产生二义性。关于角色的优先级和有关约定说明如下:
  如果一个用户只属于一个角色,那么他的权限很清楚,就是他所拥有的角色的权限。
  如果用户属于多个角色,在角色权限不冲突的情况下,他的权限就是这些角色权限的并集;如果不同角色所拥有的权限发生冲突,则需要根据角色的优先级确定用户的最终权限。权限的确定原则是发生冲突的权限以优先级高的角色所拥有的权限为准,与之冲突的低优先级的角色的权限作废。
  (3)为用户授权
  如果需要一个临时用户对系统进行操作,但他的身份和当前的角色都不匹配,那么有两种办法解决这个问题:第一种办法,可以增加新的角色,为角色分配该临时用户所需要的权限,等价于创建一个虚拟的角色;如果用户不接受虚拟角色的概念,可以为用户单独设置权限。
  为了区分用户是使用角色的权限还是使用单独设置的权限,我们引入“继承”和“不继承”的概念,这样在实际的授权中就将这两种授权方式区分开来,以免产生混淆。
  1.3对权限的认证
  所谓的认证实际上就是对权限的确认。当某一个用户对系统资源进行操作时,要首先进行认证,也就是判断用户是否拥有对资源进行操作的权限,然后根据判断的结果确定是否允许用户进行操作。
  因此在进行授权之前首先要做的就是对系统资源和相应操作进行定义,对某种系统资源的某种操作实际上就对应了一条权限,系统的权限就是由这样一条一条的权限所组成的,并保存在数据库中。
  在本系统中,在用户进行某个资源的操作之前需要进行即时权限认证,权限认证的步骤是通过用户标识和资源标识查找ACL实例,然后根据ACL实例确定授权情况。
  2.用户及权限管理的实现
  根据后台的功能模块,共划分除了十二个对象,对这些对象分别设置了增、删、改、查(CRUD)四种权限,共划分出系统管理员、普通员工、信息发布员、安全信息员和一般使用员等多种角色,它们分别对这些不同的模块有不同的权限。在新添加一个用户时只需要对他分配不同的角色即可。
  角色定义之后就可以对角色进行授权,可以根据企业实际为每一个角色分配不同的权限,在本系统的实现中,对系统资源的权限划分为增删改查,使用这些功能,就可以实现对角色管理,可以添加、删除角色,添加角色。
  参考文献
  [1]余文森,张正秋,章志明等.基于角色的访问控制模型中私有权限问题的研究.计算机应用研究, 2004, 21(4):50—51
  [2]刘孝保,杜平安.J2EE模式下基于角色访问控制的应用.计算机应用, 2006, 26 (6): 1331—1333
  [3]洪帆,罗炜.工作流管理系统安全模型.华中科技大学学报:自然科学版, 2003, 31(12):4—6
  董珍珍(1984—),女,助教,河南南阳市人,硕士研究生,主要从事电子技术及信息科学。
  王林生(1981—),男,讲师,河南南阳市人,硕士研究生,主要从事计算机控制技术。
其他文献
汽车减震器是汽车本身的重要部件之一,对于缓冲汽车在行使过程中产生的振动问题具有很好的作用,是汽车安全性与稳定性的保证。本文介绍了汽车减震器的发展现状,详细阐述了汽
通过有效利用中央和自治区政府的政策红利,宁夏农村金融近年来发展较快,取得了不俗的成绩。本文从宁夏农村金融的政策体系、机构发展现状、涉农贷款余额现状以及农村金融产品等
随着社会经济的发展,各个领域中的额管理政策也需要不断加以调整和改善,当前,对新农村建设工作的过程中,基层农村也需要进行农村的国土资源管理工作的重视,这是促使农村能够
高才坂银铜铅锌矿是近年来新发现的一个中型以上多金属矿床,是较为典型的中低温构造动力热液型矿床。矿床成因属构造动力主导的浅成中低温热液矿床。
在我国全面体制改革不断深化以及农村生产力不断发展的形势下,家庭联产承包经营制已不能适应当前发展,农民专业合作社以其众多优势成为当前农村发展的重要模式。河北省是农业大
物理教学中如何激发学生的学习兴趣和动机,调动学生的学习积极性和主动性,引导学生参与学习和探究过程,培养学生的创新意识和创新能力,是实施素质教育、落实新课程改革的核心问题
【摘要】介绍了MG110/240-BW型双滚筒采煤机的适用范围、机械部分、电控部分、主要功能、部分改造及其在同华煤矿薄煤层工作面的应用情况。改造后应用结果表明,该采煤机性能稳定,出煤效果好,提高了工作面的安全生产水平及效率。  【关键词】工作面;采煤机;信号按钮;截割部    引言  重庆松藻煤电有限责任公司同华煤矿现在可采两种煤层,中厚煤层和薄煤层工作面,薄煤层厚度为0.7-0.9m,倾角为0°
我国河北省主要以农业为主,同时农业也是河北省经济发展、农民生活条件提高的重要支撑产业之一。在当前"互联网+"背景下,怎样运用先进的网络技术构建现代化的农产品物流体系,
利用热力学分析方法.建立了强制循环太阳能供热水系统容积水箱的数学物理模型,为太阳能供热水系统的实际工程设计和系统性能的改善提供一定的理论指导。
【摘 要】多媒体技术集图、文、声、像于一体,将单一的书本知识变立体,打破传统教学的模式,能够刺激学生的多种器官,激发学生的学习兴趣,因此在中职院校的教学过程中应充分利用此种技术,提高教学质量。  【关键词】中职院校;多媒体技术;传统教学;不足;应用  随着社会的发展,尤其是我国加入WTO后,市场竞争进入白热化阶段,人才成为企业的核心竞争力,因此企业对人才的要求也越来越高。对于以培养在生产、技术、