RBAC: Role-Based Access Control(基于角色的访问控制)
在RBAC模型中权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理
RBAC0:
跟前面的权限三元组一样,具有主体,资源,操作(不清楚的可以看看我前面的权限三元组概念),这里的主体指用户和角色,但是不直接给用户授权,通过给用户分配角色,然后给角色授权来达到给用户授权的目的,至于会话表示为用户必须登录系统才能对他分配角色,就跟session一样,这是rbac的第一个模型
RBAC1:
RBAC1相对与RBAC0增加了角色的继承关系和级别,比如一个系统中有管理员这个角色,管理员这个角色同时具有普通用户的权限,那么管理员首先就是要继承普通用户的权限,最后有自己的私有权限,其他地方跟RBAC0一样
RBAC2:
RBAC2是基于RBAC0的一种变形,没有了角色层次关系和等级关系,增加了规则的限制
比如在给某用户分配某角色时,发现现有角色跟用户以前的角色存在冲突或其他未知的你不想发生的东西,那么就通过Rule规则解决冲突或其他未知问题,其他跟RBAC0一样
RBAC3:
RBAC3没有什么新东西就是同时整合了RBAC1和RBAC2,不多做介绍了