什么是RBAC权限模型?
RBAC是基于角色的访问控制,在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。
1.0级 用户、角色、权限
2.0 权限分级
公司>部门>小组
2.1 权限继承
ps: 这个人是一个小组长,那么他必然有一个归属的部门和一个归属的公司。
假设:
【技术中心】的基础权限是可以申请多一个显示器。
【公司】的基础权限是可以使用指纹开门
那么当将一个用户加入【开发人员】时,他将继承部门和公司的基础权限,即可以申请一个显示器和使用指纹开公司大门。
2.2 权限互斥、权限上限
-
场景1:
比如员工加薪需要【申请人】【部门经理】【行政经理】【财务经理】四个人签字。 -
场景2:
假设一个系统一共有 3n 个功能点
角色1 ---------- 功能1
角色2 ---------- 功能2
…
角色3n --------功能3n
超级管理员 ----- 功能3n
那么就会有如下等式
当一个用户分配了出超级管理员之外的所有角色,那么他的权限
功能1+功能2+…+功能3n = 超级管理员所拥有的全部权限
那么相当于:
用户 = 超级管理员
但是用户并不属于超级管理员角色。因此,权限互斥,和上限就很有必要。