3.8ACL、RBAC、ABAC(PBAC,CBAC)权限控制的介绍

ACL(Access Control List,访问控制列表)

将用户或组等使用者直接与对象的权限对接。

RBAC(Role-Based Access Control,基于角色的访问控制)

将用户与角色对接,然后角色与对象的权限对接。

ABAC(Attribute-Based Access Control,基于属性的访问控制)

ABAC(Attribute-Based Access Control,基于属性的访问控制),又称为PBAC(Policy-Based Access Control,基于策略的访问控制),CBAC(Claims-Based Access Control,基于声明的访问控制)。

传统的ACL、RBAC的架构是{subject,action,object},而ABAC的架构是{subject,action,object,contextual}且为他们添加了parameter(参数)。

subject属性:比如用户的年龄、部门、角色、威望、积分等主题属性。

action属性:比如查看、读取、编辑、删除等行为属性。

object属性:比如银行账户、文章、评论等对象或资源属性。

contextual属性:比如时段、IP位置、天气等环境属性。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/thinking-in-programming/9390.html

发表评论

登录后才能评论