主要有两种: ACL 模型:访问控制列表 RBAC 模型:基于角色的访问控制;
1.ACL模型:访问控制列表
Access Control List,ACL是最早也是最基本的访问控制机制。它是一种基于对象的控制模型,在其他模型中也使用了ACL。为了解决一一配置相同权限用户的问题,后来也采用了用户组的方式。
原理:每个客体都有一个列表,记录了哪些主体可以对这个客体做哪些行为,很简单。
例如:当用户A要编辑一篇文章时,ACL会先检查文章编辑功能的控制列表中是否有用户A。
又如:不同级别的会员可以使用产品中不同的功能。
缺点:当受试者数量较多时,配置和维护工作成本高且容易出错。
2. RBAC,基于角色的访问控制
RBAC的三要素:
- 用户: 系统中的所有帐户
- 角色:权限的集合(如管理员、开发者、审计管理员等)
- 权限:菜单、按钮、数据的增删改查的详细权限。
在 RBAC 中,权限与角色相关联,用户通过成为相应角色的成员来获得这些角色的权限。
创建角色是为了完成各种任务,用户根据职责和资格分配相应的角色。可以轻松地将用户从一个角色分配到另一个角色。
可以根据新的需求和系统集成赋予角色新的权限,也可以根据需要收回角色的权限。角色与角色之间也存在继承关系,防止越界。
优点:角色划分容易,授权管理更灵活,授权粒度最小。
转自:https://www.jdon.com/64695.html
标签:角色,访问控制,模型,用户,ACL,RBAC,主流,权限 From: https://www.cnblogs.com/bigsky/p/17593092.html