基于角色的访问控制在教务系统中的应用

基于角色的访问控制在教务系统中的应用

ID:21876303

大小:53.50 KB

页数:5页

时间:2018-10-25

基于角色的访问控制在教务系统中的应用_第1页
基于角色的访问控制在教务系统中的应用_第2页
基于角色的访问控制在教务系统中的应用_第3页
基于角色的访问控制在教务系统中的应用_第4页
基于角色的访问控制在教务系统中的应用_第5页
资源描述:

《基于角色的访问控制在教务系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于角色的访问控制在教务系统中的应用本文通过对RBAC96的分析提出扩展的RBAC模型(ERBAC),并且在高校教务系统中加以应用,验证了其有效性和实用性。  关键词RBAC;角色;访问控制  TP39A1674-6708(2011)54-0183-02  传统的高校教务系统的访问控制模块通常将用户和权限直接关联,这样的授权模型不方便系统的扩展,也不够灵活,当组织规模不断扩大、结构变换频繁时,就出现了大量繁琐的授权变化,权限管理的复杂度呈现指数增长的态势,而基于角色的访问控制(Role-BasedAccessControl,以下简称RBAC)模型能够较好的解决这

2、个问题。  1RBAC概述  RBAC模型引入了“角色”的概念,使得操作权限不直接授予用户,而是通过建立“用户→角色→权限”的映射关系,来灵活的表征组织内部以及用户与权限间的关系。现阶段RBAC的研究均以RBAC96为基础,RBAC96[1]由RaviS.Sandhu教授及其领导的乔治梅森大学信息安全技术实验室(LIST)提出,主要由RBAC0、RBAC1、RBAC2和RBAC3组成,如图1所示。    图1RBAC96(包括RBAC0、RBAC1、RBAC2和RBAC3)  RBAC0是RBAC96模型的核心,主要包括U(用户集)、R(角色集)、P(权限集)和

3、S(会话集),P由OPS(操作集)和OBS(客体集)组成。RBAC1在RBAC0的基础上增加了RH(角色分层)概念,使用偏序来描述这种角色继承的关系。RBAC2在RBAC0的基础上引入C(约束集)来决定对RBAC0各组件的操作是否被接受,只有被接受的操作才被允许。RBAC3综合了RBAC1和RBAC2,自然也包括了RBAC0。  RBAC96是一个基本模型,属于中性策略,这就决定了在应用中,可以根据实际情况对RBAC96进行扩展。  2扩展的RBAC模型  本文根据我院教务系统的访问控制的实际需求,对RBAC96进行扩展,增加了“属性”的概念,形成了一个扩展的R

4、BAC模型,简称ERBAC模型。  ERBAC模型在角色中形成了三元组(r,a,p),减少虚拟“中介”角色的出现,这样有利于简化权限指派,避免繁琐复杂。在用户中也形成了三元组(u,a,p),灵活动态的控制了用户所需的临时特权。同时,在用户中还形成了三元组(u,a,r),使得用户可以自动分配到相应的角色中,减小了数据添加维护的复杂度。由此可见,属性统一了模型的各部分,因此ERBAC是一种动态的基于属性的访问控制模型,在RBAC0的基础上增加了一个维度——属性,这也成为了它的核心,如图2所示,围绕这个核心,ERBAC具有相当大的伸缩性,可以灵活应用于我院教务系统中。

5、    图2ERBAC模型的核心概念图  3ERBAC在教务系统中的实现  我院教务系统使用ASP.技术,以C#为开发语言,其中asp.可以很容易在系统中实现基于角色的安全性,许多代码都是以服务器为基础的,主要基于System.embership和Roles类。教务系统的访问控制模块采用ERBAC模型,主要包括两方面子模块:一方面为系统设置模块,包括用户管理、角色管理、权限管理、属性管理、策略设置和数据备份;另一方面为用户认证模块,包括身份验证和权限获取。  系统设置模块通过用户管理、角色管理、权限管理和属性管理,可以实现用户、角色、权限及属性的增加、删除、修改

6、等功能,也实现了它们之间关系的指派。这里需要特别说明,ERBAC模型中的属性按系统定义可划分为角色属性和权限属性,角色属性设置目标是为了动态分配给用户相应角色,而权限属性是为了动态分配权限给用户或者角色,故而在数据库表的设计中需要考虑这些。  用户认证模块通常是用于验证用户身份的合法性,此外在我院教务系统中,还通过用户认证模块分配给合法用户所拥有的权限。  ASP.包括三种基本的身份验证方式,分别为D5进行加密,这样使得明文传播的密码愈加安全。  合法用户通过身份验证之后,需要分配其相应权限,用户拥有的权限分为:直接从属性获取的权限、经角色间接获取的权限。经角色

7、间接获取的权限还可以分为直接指派给角色的权限和经属性分配给角色的权限。这些权限难免会出现重复,需要进行删除,假设重复数组为permissionArray,则其算法如下:  intmaxIndex=permissionArray.Length-1;  if(maxIndex>0)  {  ListlistInt=neissionArray);//排序数组  for(inti=0;i

8、;  }  listIn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。