本文共 1042 字,大约阅读时间需要 3 分钟。
RBAC:基于角色的权限访问控制(Role-Based Access Control)
用户与角色之间是多对多关系,角色与操作(权限)之间也是多对多关系
在数据库表设计中,如果是多对多关系需要使用关联表
(1)RBAC0
RBAC0是最简单、最原始的实现方式,也是其他RBAC模型的基础 在该模型中,用户和角色之间可以是多对多的关系,即一个用户在不同场景下是可以有不同角色的。例如:项目经理也可能是组长也可能是架构师。同时每个角色都至少有一个权限。这种模型下,用户和权限被分离独立开来,使得权限的授权认证更加灵活(2)RBAC1
基于RBAC0模型,引入了角色间的继承关系,即角色上有了上下级的区别 角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构,实现角色间的单继承这种模型适合于角色之间层次分明,可以给角色分组分层
(3)RBAC2
RBAC2,基于RBAC0模型的基础上,进行了角色的访问控制 RBAC2中的一个基本限制是互斥角色的限制,互斥角色是指各自权限可以互相制约的两个角色。对于这类角色一个用户在某一次活动中只能被分配其中的一个角色,不能同时获得两个角色的使用权该模型有以下几种约束: