RBAC 介绍,案例讲解
参考链接: https://www.sojson.com/blog/141.html
案例: https://www.sojson.com/blog/142.html
一、RBAC是什么?
RBAC 是基于角色的访问控制(Role-Based Access Control
)在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
二、RBAC介绍
RBAC 认为授权实际上是Who
、What
、How
三元组之间的关系,也就是Who
对What
进行How
的操作,也就是“主体”对“客体”的操作。
Who:是权限的拥有者或主体(如:User,Role)。
What:是操作或对象(operation,object)。
How:具体的权限(Privilege,正向授权与负向授权)。
然后 RBAC 又分为RBAC0、RBAC1、RBAC2、RBAC3
,如果你不知道他们有什么区别,你可以百度百科:百度百科-RBAC 估计你看不懂。还是看看我的简单介绍。
我这里结合我的见解,简单的描述下(去掉那么多的废话)。
RBAC0、RBAC1、RBAC2、RBAC3简单介绍。
- RBAC0:是RBAC的核心思想。
- RBAC1:是把RBAC的角色分层模型。
- RBAC2:增加了RBAC的约束模型。
- RBAC3:其实是RBAC2 + RBAC1
RBAC0,RBAC的核心
RBAC1,基于角色的分层模型
RBAC2、是RBAC的约束模型
RBAC3、就是RBAC1+RBAC2
估计看完图后,应该稍微清楚一点。
下面来看个Demo。员工权限设计的模型图,以及对应关系
关系图,以及实体设计
表设计