简述RBAC基于角色的访问控制系统(Role-Based Access Control)

Posted 码农Doggy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述RBAC基于角色的访问控制系统(Role-Based Access Control)相关的知识,希望对你有一定的参考价值。

简述RBAC基于角色的访问控制系统

在日常生活中我们每个人都有各种各样的角色,在家里可能你既是儿子的角色也是父亲的角色,在公司可能是管理层的角色或者是工程师的角色又或者是老板的角色。无论你是哪个角色每个角色对应的义务和责任都不尽相同,父亲的角色对应的责任和义务是对子女的个人财产、人身安全进行保护和管理、供养子女的生活费、教育费、医疗费等,反过来如果你用父亲的角色对子女进行身体上的残害那则是越权行为,在法律和道德伦理上都会受到制裁,因为这种伤害行为不是父亲这种角色应有的权限,所以法律手段是控制这种非法权限的方法。不过社会角色不是我想要简述的主题这只是作为铺垫,我想简述的主题是软件系统里的基于角色的访问控制系统,无论是在互联网企业还是传统行业企业都用上了信息管理系统,管理信息自然需要各种管理员,因为每个人在公司里的角色不同而且每个角色的权力和权限也不同,自然有些范围的信息不能被某些权限比较低的角色所浏览和控制,例如:文章管理员只对文章的发布、审核、具有权限。其他的控制模块比如系统配置则不拥有操作权限。图1-1是一个简单的角色访问控制系统关系图,用户spring在这个系统中对应的角色是文章管理员,当然一个用户可以对应多个角色,正如我们现实世界中有个角色(身份)一样,为了简述清楚我们不搞这么麻烦。当用户spring访问这个控制系统的时候,我们首先获取了spring在系统中唯一的编号:1(就好像我们的身份证号码在公安局的系统里是唯一的一样),然后用编号1我们获取到了角色编号:2也就是文章管理员的角色(角色编号在系统里也是唯一性的),最后我们用角色编号:2获取到文章管理员的操作权限:文章列表、文章修改、文章删除、文章分类、添加分类、分类修改、分类删除、发布文章。至于系统的其他部分这个管理员是看不到,如果这个管理员自作聪明想访问系统其他部分的操作肯定会被权限验证拒绝,因为每个操作都会进行权限验证。

用户----角色----权限关系:

用户:spring=角色:文章管理,即1对应2,1=2。

角色:文章管理=操作权限:文章列表、文章修改、文章删除、文章分类、添加分类、分类修改、分类删除、发布文章,即2对应3、4、5、6、7、8、9、10。2=3、4、5、6、7、8、9、10。

用户----角色----权限验证:

当用户spring(角色)自作聪明非法操作,例如操作系统配置操作(编号11),当拿编号11从文章管理的权限里查找不到的时候系统就会判定这次操作是非法的,因为3、4、5、6、7、8、9、10里面没有包含11这个操作编号。

到此整个rbac基于角色的访问控制系统简述完毕,至于编程实现和数据库设计我想应该是大同小异的。



图1-1

以上是关于简述RBAC基于角色的访问控制系统(Role-Based Access Control)的主要内容,如果未能解决你的问题,请参考以下文章

Axure项目6启动:企业综合管理平台-RBAC权限管理

RBAC基于角色的访问控制

RBAC 基于角色的访问控制

RBAC:基于角色的权限访问控制

基于角色的访问控制 (RBAC)权限管理

基于角色的访问控制 (RBAC) 与上下文?