【通用权限管理系统设计与实现】 通用权限管理系统
龙源期刊网 .cn
通用权限管理系统设计与实现
作者:彭耘 张立平
来源:《教育教学论坛》2014年第25期
摘要:权限管理是信息管理系统中必不可少的一部分,设计并实现通用权限管理系统可节约大量的人力和物力,本文以RBAC 模型为基础,设计了通用权限管理模型,以此为基础,设计并实现了一个通用权限管理系统,并在实践中取得了良好的效果。
关键词:通用权限管;RBAC ;ASP.NET
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)25-0154-02
对于任何一个信息管理系统,权限管理模块是必不可少的一部分,对于信息系统,其权限管理在功能上是相似的,并有几个理论模型。每一个系统都重复开发权限管理模块,势必浪费大量的时间、人力和物力。因此实现一个方便、灵活、可扩展的通用权限管理系统将在很大程度上节约开发时间,降低人力、物力成本,对信息管理系统的设计和实现具有重要意义和应用价值。相对于传统的访问控制,RBAC 模型引入了角色层。在RBAC 中,权限授予角色,角色授予用户,这种机制使得它有授权方式简便高效、维护简便等优点。特别地一点是,RBAC 实现了人员与权限的分隔,简化了各种环境下的权限管理,更重要的是可以用RBAC 的思想设计一个通用的权限管理系统。RBAC 模型的缺点是:其一,进行权限校验时需要不断的遍历和递归,造成了性能的影响;其二,角色和角色、用户和角色之间的关系比较复杂。本文通过对RBAC 模型进行改进,设计了一种通用的权限管理模型,可以较好地解决这两个问题。
一、通用权限管理模型设计
权限管理模型是权限管理的基础。本文以RBAC96模型中的RBAC0模型为基本模型,对权限、角色、用户和角色的关系做了改进,设计出一个通用的权限管理模型。如图1所示: 权限模型为三个实体和两个关系:用户U 、角色R 、权限P ;PR 为权限P 和角色R 之间为多对多关系,UR 为角色R 和用户U 之间为一对多关系,会话sessions 是用户与激活的角色集合之间的映射,隐含在用户集U 中。权限和权限之间存在包容关系,如对某项资源的编辑权限包含查看权限,为了实现通用性,模型中设定权限p 的元素之间是平行关系,权限之间包容关系由权限名来表示,由授权人员处理包容关系。权限依据功能模型划分为组,以方便权限管理。角色R 被定义为近似职位关系。这样定义的好处在于因为职位的权限变动很少,在系统移交给用户之前即可以完成定义,减少最终用户使用的复杂度。权限管理包括PA 、UA 和RA 。PA 为角色权限分配,由开发人员配合最终用户完成,UA 为用户角色分配,由最终用户独立完成,RA 为角色用户分配,配合用户完成用户角色分配。
二、通用权限管理系统设计