- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于RBAC模型的通用权限管理系统的分析与设计.doc
基于RBAC模型的通用权限管理系统的分析与设计
【摘要】本文依据RBAC权限管理模型理论,主要介绍了权限管理系统的研究与设计。基于角色的权限控制模型(RBAC)是目前主流的权限控制模型,它比传统的自主访问控制(DAC)和强制访问控制(MAC)更优越,同时也提供了更高的灵活性和扩展性。本文通过对现有的权限管理模型进行分析与改进,从内部实现与外部接口调用两方面来分析权限和设计权限管理系统,并从授权方式的易用性与高效性考虑,对权限管理系统予以实现。
【关键词】权限控制;RBAC;权限管理系统
1 引言
软件开发企业竞争激烈,如何降低成本,特别是劳动力成本,避免重复工作量都在各企业发展策略考虑的内容之内。要避免重复劳动力,相同模块重复开发,构建一个能在不同业务系统中复用的权限管理系统可以大大减少软件重复开发,降低软件成本,提高软件产品竞争力,是企业资源中的重要一部分。
长久以来,做为企业级框架最为重要的环节之一,权限的设计一直是架构师和开发设计人员最头疼的问题,如今,这已经远远大于对于ORM数据访问持久层的重视程度。权限框架的重要性主要体现在:
(1)它是其他业务模块的基础。任何有多成员参与的应用系统,必须涉及到成员之间的资源分享问题,这就需要一个灵活的权限系统为其做好资源授权。好的授权模型能大大减化业务设计的复杂程序。企业应用中的工作流管理,报表管理都是建立在它的基础上的。
(2)它是系统性能的关键。应用系统中最耗资源的不是业务逻辑本身,而是业务逻辑中所涉及的各种资源的调配机制,有一个好的权限系统来合理分配资源的使用,能大大减轻业务逻辑运行的系统消耗。
(3)它的复用性,可配置性,减少在各系统中重复开发,能大大减轻系统开发成本。
所以,权限管理系统是企业开发框架的内核,也是各种个性化的应用系统开发的奠基石。要想开发一个高效稳定的应用系统,必须有一个高效稳定的权限管理系统作为前提。
2 RBAC模型分析
权限控制模型,又称访问控制模型(Access Control Model)或者说授权模型(Authorization Model),简单来说就是关注“who can do what” 。目前,应用系统中主流发展的权限模型是基于角色控制的访问控制模型,即RBAC模型。
角色访问控制(RBAC)引入了Role的概念,其目的是为了隔离User(即动作主体,Subject)与Privilege(权限,表示对Resource的一个操作,即Operation+Resource)。Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,所有的授权应该给予Role而不是直接给User或Group。Privilege是权限颗粒,由Operation和Resource组成,表示对Resource的一个Operation。
根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型。对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignmen描述如下:
(1)控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义需要注意两个问题:①资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。 ②这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例(Resource Instance)。
(2)权限:对受保护的资源操作的访问许可(Access Permission),是绑定在特定的资源实例上的。对应地,访问策略(Access Strategy)和资源类别相关,不同的资源类别可能采用不同的访问模式(Access Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策略可能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。
(3)用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。
(4)用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。
(5)角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科
文档评论(0)