网站首页  词典首页

请输入您要查询的论文:

 

标题 基于改进RBAC模型的通用用户权限组件设计与实现
范文 孙逊++鲜学丰++廖黎莉



摘要摘要:针对管理信息系统的特点及其对权限控制的需要,在分析现有权限组件的基础上,提出了一种基于改进RBAC模型的通用用户权限组件设计方案。该组件采用“菜单(页面)—动作行为—页面字段”的三级权限控制方式,将权限控制从菜单页面级别扩展到了动作行为和页面字段级别,细化了组件的权限控制功能。在.NET平台上对上述权限组件方案加以实现,并将该组件应用于多个管理信息系统中,取得了很好的应用效果。
关键词关键词:改进RBAC;权限组件;.NET;三层架构;MIS
DOIDOI:10.11907/rjdk.151862
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2015)011008103
基金项目基金项目:国家自然科学基金项目(61440053);苏州市科技发展计划应用基础研究(工业)项目(SYG201342)
作者简介作者简介:孙逊(1987-),男,江苏盐城人,硕士,苏州市职业大学计算机工程学院助理实验师,研究方向为管理信息系统;鲜学丰(1980-),男,四川西充人,博士,苏州市职业大学计算机工程学院副教授,研究方向为数据挖掘和智能信息处理;廖黎莉(1982-),女,江西南昌人,硕士,苏州市职业大学计算机工程学院讲师,研究方向为智能信息处理。
0引言
随着用户数量的增加和系统业务的大规模化、复杂化,传统的访问控制机制如DAC(Discretionary Access Control,自主访问控制模型)、MAC(Mandatory Access Control,强制访问控制模型)已不能满足信息系统的要求。同时,在信息系统开发过程中,用户权限管理模块被多次重复开发,代码复用率低,可扩展性差。
本文基于改进RBAC模型的通用用户权限组件的设计,在.NET平台上进行了实现和应用。
1RBAC标准模型及改进
基于角色的访问控制模型(RBAC)由Ferraiolo等人于1992年提出,RBAC模型如图1所示。
RBAC模型是目前公认解决权限访问的有效办法,是管理信息系统中使用最多的权限控制方法。RBAC模型的主要思想是在用户和权限之间不直接关联,通过引入角色的概念来关联用户和权限。RBAC模型的提出降低了管理系统的授权复杂性,增加了系统的伸缩性。
在RBAC模型中,角色是衔接用户和权限的重要客体,但是用户规模和权限类别的增加,导致角色相应增加。若某一用户U由于业务需要增加某一权限P时,传统的RBAC模型中和用户U具有相同角色用户也相应增加了权限P,这样使得权限系统不够严谨,如果单独为用户U增加一个新角色R,会使得系统逐渐变得臃肿,所以传统的RBAC标准模型已不能满足管理信息系统的业务要求。文献[5]提出一种基于传统RBAC模型的改进模型,该改进模型如图2所示。改进模型在传统RBAC模型中加入了用户许可分配,根据系统业务需要,部分用户不需要通过角色建立用户和权限关联,直接通过用户许可分配建立用户和权限关联。
2通用权限组件分析与设计
RBAC模型及其改进模型仅仅是一个权限控制的理论模型,它为权限组件设计提供了理论基础。但是在实际应用过程中,有些细节需要不断细化扩展[6]。在RBAC模型中,权限是个宽泛的概念,没有具体指出权限代表何种资源,针对大多数基于RBAC模型的权限组件只细化到菜单(页面)粒度的问题,文献[7]提出访问集和操作集的权限控制方式,将权限控制粒度细化到了资源行为级别。
本文提出了一种“菜单(页面)—动作行为—页面字段”的三级权限控制方案。菜单控制也称页面控制,通过程序可精确控制用户是否有权限访问用户请求的页面;在管理信息系统中,动作行为是指添加、编辑、删除等系统操作行为,动作行为控制可精确控制用户是否有权限进行动作请求;通过页面字段控制,可精确控制页面中的数据字段。本文将用户权限粒度细分到每个菜单页面下的功能按钮和页面字段,实现了用户权限的精确控制。
2.1需求分析
在管理信息系统中,用户权限管理组件可以保证系统资源正确请求访问,对一个成熟的权限管理组件,应该保证以下功能:
(1)权限的添加、编辑和删除,这里的权限主要指菜单页面权限、动作行为权限、页面字段权限。
(2)角色的添加、编辑、删除和权限的分配。
(3)用户的添加、删除、修改和权限的分配。
2.2功能设计
通用用户权限组件功能模块如图3所示,权限组件包括5个子系统,分别是用户管理子系统、角色管理子系统、菜单管理子系统、动作行为管理子系统和页面字段管理子系统。用户管理子系统除了实现用户的添加、编辑和删除功能外,还增加了用户角色设置、权限设置,其中权限设置主要包括菜单设置、动作行为设置和页面字段设置;角色管理子系统包括角色的添加、编辑、删除和权限设置;权限管理包括菜单管理子系统、动作行为管理子系统和页面字段管理子系统,3个权限子系统包括对应的权限添加、权限编辑和权限删除,其中菜单管理子系统包含动作行为设置和页面数据设置。
2.3数据库设计
根据上述功能需求分析结果,建立通用用户权限组件的数据库模型,如图4所示,数据库模型核心表有12个,分别是:
(1)用户表:主要描述系统的用户信息,通过用户ID和其它表建立关联,权限类别字段用来区分用户的权限属于用户-角色-权限还是用户-权限。
(2)角色表:主要描述系统的角色信息,通过角色ID和其它表建立关联。
(3)菜单表:主要描述系统的菜单信息,系统通过父菜单ID字段建立菜单树。
(4)动作行为表:主要描述菜单页面中的动作行为,通过菜单ID字段建立和菜单表的联系。
(5)页面字段表:主要描述页面中需要权限控制的字段,通过菜单ID字段建立和菜单表的联系。
(6)用户角色表、用户菜单表和角色菜单表:分别描述用户和角色、用户和菜单、角色和菜单之间的关系,均属于多对多关系。
(7)用户行为表、角色行为表、用户字段表和角色字段表分别建立了用户(角色)和动作行为、页面字段的关系,均属于多对多关系。
图4通用用户权限组件数据库关系
3通用权限组件实现
基于上述设计方案,开发了一套基于.NET技术的通用用户权限组件,组件采用B/S结构,使用三层架构,三层架构从下往上分别是数据访问层(DAL)、逻辑业务层(BLL)、页面表示层(UI)。
3.1页面权限验证功能实现
在管理信息系统中,每个页面均需涉及到权限的验证,权限验证是整个组件的核心,验证具体过程是:用户登录系统时,系统判断用户权限类型,并取得用户对应权限,对用户权限进行验证。在页面进行权限验证时,验证权限代码在PageBase类中封装。核心代码如下:
//PageBase类核心代码
class PageBase : System.Web.UI.Page{
public static string username;
public void CheckUserPermission(){
if (Session["UserName"]!= null){
//页面验证
//动作行为验证
//页面字段验证
}
else{
Response.Redirect("~/Login.aspx");
}
}
}
//ASPX页面核心代码
public partial class _Default : PageBase{
protected void Page_Load(object sender,EventArgs e){
base.CheckUserPermission ();
}
3.2通用权限组件应用
该组件开发完成后已在多个B/S项目中应用,具体应用方法如下:
(1)引用权限组件中数据访问层(DAL)和逻辑业务层(BLL)的相关动态链接库(DLL)文件。
(2)添加权限组件页面表示层(UI)代码到目标项目解决方案中。
(3)在需要权限验证页面的Page_Load()事件里,调用PageBase类中CheckUserPermission()方法进行权限验证,判断当前用户是否具有访问权限,如没有目标页面权限则自动跳转到登录界面,否则加载该用户具有的动作行为和页面字段权限。
通过应用发现,权限组件的开发应用避免了管理信息系统中权限管理模块的重复开发,提高了项目开发效率。
4结语
本文在介绍RBAC模型及其改进RBAC模型的基础上,设计了一种基于改进RBAC模型的通用用户权限组件,并在.NET平台下加以实现。该权限组件已经在多个管理信息系统中得到应用,减轻了管理信息系统中权限模块的开发复杂度,提高了软件复用率。
参考文献参考文献:
[1]贾爱华,陈定方.NET平台下基于RBAC模型的用户权限控制[J].湖北工业大学学报,2008(3):2930.
[2]DAVID F,RICHARD K.Rolebased access controls[C].Proceedings of 15th NISTNCSC National Computer Security Conference.Baltimore,Maryland: NISTNCSC,1992:563.
[3]陈琛,陈学广,王煜,等.一种基于改进RBAC模型的EIS权限管理框架的研究与实现[J].计算机应用研究,2010,27(10):38553858.
[4]蔡国永,林煜明.RBAC模型的扩充及其应用[J].计算机工程与应用,2008,44(3):228233.
[5]乔佩利,陈欣.一个基于改进 RBAC 模型的自适应权限构件[J].自动化技术与应用,2011 (3): 3035.
[6]王志瑞,顾问,刘正涛.基于RBAC模型的权限组件[J].计算机系统应用,2015,24(3):156160.
[7]信科,杨峰,杨光旭,等.基于RBAC权限管理系统的优化设计与实现[J].计算机技术与发展,2011,21(7):172174.
责任编辑(责任编辑:杜能钢)
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/10 15:49:08