RBAC模型的权限管理子系统的设计

2014-04-29 00:44阳斌刘青银
中国电子商情 2014年5期
关键词:使用者实体模块

阳斌 刘青银

引言:本文在对计算机管理系统进行概述的基础上,对RBAC模型进行简要分析,从而对RBAC模型的权限管理子系统的设计方式进行具体研究。

RBAC模型在信息化的权限管理中具有突出重要的作用,通过RBAC模型,能够对系统使用者的访问、操作等程序进行更加合理、安全的权限设定控制工作。

一、 计算机管理系统概述

计算机管理系统作为人机交互系统具有特殊复杂性,每一处系统环节均可能遭受安全威胁。因此,建立强化的权限管理体系,能够合理保证系统管理的安全性。现阶段,RBAC模型具备相对完善的理论根基,同时在权限管理方面也具有灵活快捷的特点,在提出后一直受到业内重视,并在权限管理中被大范围使用。RBAC的核心理念即是将权限对角色进行分配,用户被赋予身份角色后,即拥有相对应的权限。

二、 基于RBAC的模型

RBAC在1992年被正式提出,在1996年,乔治麻省大学的Sandhu教授设计出RBAC96模型,并被业内当作经典模型而广泛利用。RBAC96作为模型族,其中的RBAC3具有综合性,主要包括四个实体即role、user、permission、session,四种关系即Permission assignment、User assignment、Role hierarchy、Constraints,和两种映射即用户对用会话和会话对应角色[1]。

使用RBAC模型的最大优势在于能够将用户与用户拥有的权限进行分离,管理员需要把用户授权和用户权限进行合理划分从而分别处理,把权限授予相应角色,并将授予的角色交给用户,从而完成授权的相应操作。如图1为RBAC访问权限控制模型[2]。

图1RBAC访问权限控制模型

RBAC模型族中的RBAC0定义能够构成RBAC权限控制系统的最小元素集合。在RBAC模型中,具有users、roles、objects、operations、permissions五个基本的数据元素,权限赋予在角色部分,而不是直接赋予用户。而当角色制定给对应的使用者是,使用者将拥有角色所具有的权限。同时,一个使用者可以对应多个角色,而一个角色也可以由多个使用者共享,类似人类显示生活中具有的多重身份角色。Sessions为激活角色和使用者集合间的映射,本质感念类似传统意义中访问控制机制中主体标记[3]。一个主体即为一个访问控制的单位,相同道理,一个使用者能够在同一时间内包含多个具有不同权限的主体。RBAC0相比于传统的访问控制,具有更加优异的间接灵活性,每一个角色至少能够具有一个权限。其后的RBAC1、RBAC2以及RBAC3均是在RBAC0的基础上扩展形成的。

RBAC模型中,使用者、角色与控制对象三个要素的关系能够抽象出来,单个用户和角色可以统一看待为主体,而所有资源则能够统一看作为客体,同时再算上操作,这样三种元素下,主体对客体就具有了相应的操作权限。这样能够相对容易地对许多问题进行解决,授权进程中,需要将使用者、角色等权限进行清晰的表述[4]。

三、 RBAC模型的权限管理子系统设计

1. 系统需求

权限管理旨在对使用者进行身份识别和相关权限的维护,也能够完成使用者对资源操作的控制。此外,当用户以某一个角色登陆系统时,系统需要对他在每个资源中的操作进行监控,从而判断该使用者是否具备对应权限,如果使用者确实具备,那么允许施行,否则对其操作进行阻止。依据RBAC模型相关理论,权限管理子系统具有需求有:第一,权限管理的子系统需要对进行非系统资源访问的使用者进行身份识别认证,切实对使用者的权限进行判断,例如密码输入方面试行三次错误锁定的设置;第二,权限管理子系统需要作为资源管理的核心控制系统,重点需要强化用户使用模块的配置工作;第三,权限管理的子系统需要保证操作的灵活简洁,保证具有不同计算机操作水平的使用者均能够较为熟练地进行操作;第四,权限管理的子系统应该具备相应的高效和安全性,保证系统资源的安全,防止恶意程序入侵,保证系统资源的完整性。

2. 系统架构设计

权限管理的子系统可分为表现层、业务层、持续层、数据层。其中表现层选取稳定框架,使用稳定的框架对系统进行处理工作从而切实减少工作运转的数量[5]。同时,基于方便扩展的原则,需要设计工作形式的基础形式以及工作基类的基础活动。基础形式类继承工作形式,基础活动类继承处理活动类,与其相关的活动类则要继承基础形式类从而完成业务相关功能。

业务层使用Façade方式,对所有的业务逻辑相关操作进行封装,从而为调用表现层提供便利。持续层则使用应用范围较广的ORM框架Hibernate,从而合理将对象与关系的一系列数据进行转换。可以使用封装所通用的泛用性Dao接口中的Dao形式,保证数据操作的持久化。Hibernate可以有效进行Dao接口的实现工作。数据层则使用关系类数据库,并通过Hibernate框架形成对象相互管理的映射机制。

3. 业务设计

系统业务的实体在内存当中能够变现成实体域的对象,而在数据库中则表现成关系数据。业务实体的有效实现需要做到设计、创建与模型的实体和设计关系的数据模型两大方面的具体内容。其中,实体域模型中实体间的相应关系如表1所示:

表1实体域模型中实体间关系

实体 关系

用户与角色 双向多对多

用户组与角色 双向多对多

角色与权限 双向多对多

权限与资源 单向多对一

权限与操作 单向多对一

关系模型中,描述对象的属性与方式的JAVA类如表2所示:

描述对象 JAVA类

详用户信息 User

详细用户组信息 User Group

详细角色信息 Role

详细资源信息 Resources

详细操作信息 Operation

详细权限信息 Permissions

4. 功能设计

权限管理子系统中,登录认证与角色管理两个模块具有提出作用。其中,登录认证的模块能够允许用户进入管理系统的通道,运用页面与服务器交互作用完成健全的认证工作。与一般的Web管理系统的设计方案类似,前端需要使用HTML等模式,服务器方卖弄需要控制业务的逻辑性,数据库需要对使用者以及登录信息进行储存[6]。

角色管理的模块主要包括角色信息以及角色信息的相关操作。针对RBAC模型的具体特点和权限管理子系统的具体要求,在角色管理模块的设计中,应该重点考虑角色的分层、互斥、继承等方面。分层方面,将角色依照层级记性管理,能够切实对应实际的岗位级别,从而满足系统的相关需求;互斥方面,互斥的两个角色必须分开授予两个使用者,从而抱着个系统的安全资源的完整;继承方面,拥有子角色的使用者,在父角色所有权方面,不支持相应的角色继承。

结束语

RBAC模型的权限管理子系统能够对系统内的资源数据进行各家合理高效的权限管理工作,通过具体的系统设计工作,能够使权限管理的子系统更加安全可靠地进行数据信息的管理工作。

参考文献

[1]金鑫.RBAC权限管理模型在营业厅联播系统中的应用研究[D].北京:北京邮电大学,2012.

[2]张瑞卿,舒坚,蔡柯等.改进的基于组织结构的 RBAC 模型[J].计算机工程与设计, 2011(23).

[3]王振江,刘强.基于 RBAC 的扩展访问控制模型[J].计算机工程与应用,2011(07).

[4]周志烽,王晶.基于 RBAC 的安全管理模块的设计和实现[J].典型工程技术与标准化. 2011(10).

[5]陈丹丹.基于 RBAC 的权限管理组件的设计与实现[D].武汉: 武汉理工大学,2013.

[6]任中方,张华,闫明松.MVC 模式研究的综述[J].计算机应用研究,2013.

猜你喜欢
使用者实体模块
“法定许可”情况下使用者是否需要付费
28通道收发处理模块设计
“选修3—3”模块的复习备考
前海自贸区:金融服务实体
新型拼插休闲椅,让人与人的距离更近
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
抓拍神器
集成水空中冷器的进气模块