RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。
在这种模型中,用户与角色之间,角色与权限(功能)之间,一般都是多对多的关系。 通过这种多对多关系,权限的过程可抽象的概括为:判断Who是否可以对What进行How的访问操作操作,并且对这个逻辑表达式是否为Ture进行求解。
RBAC有RBAC0~RBAC3四个概念性模型。
RBAC0:基本模型RBAC0定义了完全支持RBAC概念的任何系统的最低需求。
RBAC1和RBAC2两者都包含RBAC0,但各自都增加了独立的特点,它们被称为高级模型。
RBAC1中增加了角色分级的概念,一个角色可以从另一个角色继承许可权。
RBAC2中增加了一些限制,强调在RBAC的不同组件中在配置方面的一些限制。
RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。
RBAC的优缺点:
RBAC模型没有提供操作顺序控制机制。这一缺陷使得RBAC模型很难应用关于那些要求有严格操作次序的实体系统。
例如,在购物控制系统中要求系统对购买步骤的控制,在客户未付款之前不应让他把商品拿走。RBAC模型要求把这种控制机制放到模型
来源:CSDN
作者:smarthunya
链接:https://blog.csdn.net/smarthunya/article/details/104293502