基于角色权限管理系统设计及实现

基于角色权限管理系统设计及实现

ID:33832485

大小:56.68 KB

页数:6页

时间:2019-03-01

基于角色权限管理系统设计及实现_第1页
基于角色权限管理系统设计及实现_第2页
基于角色权限管理系统设计及实现_第3页
基于角色权限管理系统设计及实现_第4页
基于角色权限管理系统设计及实现_第5页
资源描述:

《基于角色权限管理系统设计及实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于角色权限管理系统设计及实现摘要:在权限管理系统中,用户灵活性与系统安全性始终是一对矛盾。如何有效降低系统授权管理的复杂性一直是权限管理系统设计的难点。基于角色的访问控制(RBAC)模型,通过引入角色的概念,采用分层技术,实现用户与权限的逻辑分离。层次RBAC模型的角色分层是权责分割的基础。将权责分割机制应用于权限管理系统的用例设计和访问控制中,给出了该系统中角色管理的具体实现。关键词:访问控制;RBAC;权责分割;SSD;DSD;权限管理中图分类号:TP311.52文献标识码:A文章编号:1009-3044(2012)33-7

2、918-04不同于自主或强制访问控制模型,基于角色的访问控制(简称RBAC,下同)以角色作为中介,系统首先给角色授权,然后将角色分配给用户,角色架起了访问控制中访问主体与客体之间的一座桥梁。之所以不直接将权限授予用户,是因为角色比用户更具稳定性。当因为系统需求对用户进行变更时,只需修改角色与该用户的关联,而不必对角色与访问控制客体之间的关联进行修改,使系统设计的灵活性有所增强。1层次RBAC模型在基于角色的访问控制模型(RBAC)中,通常采用分层技术对角色的职权和责任能力进行描述。通过添加对角色分层的支持,能够提高RBAC的管理效

3、率、明晰角色间的逻辑关系。层次RBAC模型在RBAC角色集定义的基础上,提出了角色层次的概念,并添加了相应的访问控制规范。层次RBAC模型如图1所示。层次RBAC中包含两类角色分层,常规角色层次和有限角色层次。常规角色层次在角色分层中支持任意偏序关系,可以实现不同角色间的许可集和用户集从属关系的多重继承;有限角色层次强加限制了角色分层系行为,使系统中分层技术被限制在简单的逻辑结构中,有利于增强系统授权的安全性。2角色控制的权责分割权责分割是系统设计中常用的一条安全法则,主要用于加强有利害关系策略的冲突性。该冲突性允许一个用户可以同

4、时获得两个(或以上)的冲突角色,通过角色分层和个性化角色集为高层次的组织安全策略提供约束机制。为了便于权限管理系统的设计,参照RBAC标准的有关内容,我们将权责分割分为两大类:静态权责分割和动态权责分割。2.1静态权责分割静态权责分割(SSD)属于静态约束,在角色集定义时就实施访问控制约束。SSD定义了一个包含两个(或以上)角色的集合,为角色集指定限制条件,限制用户指派关系。SSD还通过基数对策略违例做出了规定:如果系统的局部组织中有一个由5个角色组成的角色集,则在授权过程中仅能有不超过4个的用户角色数目。2.2动态权责分割动态权

5、责分割(DSD)属于动态约束,在激活角色时才实施访问控制约束。DSD限制了对用户有效的许可,为每个用户的最小权限提供了不同的扩展支持。我们定义DSD(XN)是动态权责分割中(rs,n)对的集合,其中rs代表角色集,n代表基数。我们认为在任意一个(rs,n)DSD的情况下,不存在用户会话能从rs中同时获得大于等于n的角色个数。该结论证明如下:设t是rs的一个子集,据上述定义可得到:SSD能够在用户指派角色时,解决潜在的利害冲突;DSD则是在角色激活时,解决产生的策略冲突。3基于角色的访问控制应用在权限管理系统中,SSD用于用例设计,

6、主要是对访问控制核心角色的定义;DSD用于访问控制,主要是对权限管理核心类的描述。3.1系统用例设计在采用RBAC模型的权限管理系统中,角色功能图的用例框图如图2所示。该用例框图中的角色控制执行者主要有3个:安全管理员、用户和角色领域工程师。角色领域工程师是权限管理系统的核心角色,主要用于描述权限集,实施角色分层和附加约束操作。安全管理员管理负责管理基于角色的权限系统,为用户授权。用户被定义为一个真实的人或者一个外部的系统,他可以通过角色策略,要求系统执行针对某个对象的某种操作。3.2访问控制模块访问控制模块是整个权限管理系统的核

7、心部分,它的主要功能是用来验证用户或其角色是否具有访问权限。对外部系统而言,访问控制模块采用黑盒设计,通过返回值确定允许或拒绝用户的操作申请。此模块的流程图如图3所示,从建立权限与资源的对应关系入手,逐步实现角色实体与权限实体之间调用权限操作,从而建立权限实体与层次结构的关联。访问控制模块设计中的主要成员类有User、Session、Role、Permission、Constrain、Object,其中Role是核心类用作主要类的连接。User是一个接口,它包括RBAC控制模块中不同功能的实现类,每一个User对应一个Sessio

8、n0在用户Logon成功后Session由系统提供,当会话时钟超时系统会要求用户重新进行身份验证。每一个Logon用户可以在自己的Session中激活符合条件的角色,在激活角色之前系统先要调用Constrain检查,确认用户角色之间是否存在冲突。R

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

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

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