主流的权限模型

发布时间 2023-07-31 12:04:07作者: 鹤鸣&九皋

主要有两种:  ACL 模型:访问控制列表 RBAC 模型:基于角色的访问控制; 

1.ACL模型:访问控制列表

Access Control List,ACL是最早也是最基本的访问控制机制。它是一种基于对象的控制模型,在其他模型中也使用了ACL。为了解决一一配置相同权限用户的问题,后来也采用了用户组的方式。

原理:每个客体都有一个列表,记录了哪些主体可以对这个客体做哪些行为,很简单。

例如:当用户A要编辑一篇文章时,ACL会先检查文章编辑功能的控制列表中是否有用户A。

又如:不同级别的会员可以使用产品中不同的功能。

缺点:当受试者数量较多时,配置和维护工作成本高且容易出错。

2. RBAC,基于角色的访问控制

RBAC的三要素:

  • 用户: 系统中的所有帐户
  • 角色:权限的集合(如管理员、开发者、审计管理员等)
  • 权限:菜单、按钮、数据的增删改查的详细权限。

在 RBAC 中,权限与角色相关联,用户通过成为相应角色的成员来获得这些角色的权限。

创建角色是为了完成各种任务,用户根据职责和资格分配相应的角色。可以轻松地将用户从一个角色分配到另一个角色。

可以根据新的需求和系统集成赋予角色新的权限,也可以根据需要收回角色的权限。角色与角色之间也存在继承关系,防止越界。

优点:角色划分容易,授权管理更灵活,授权粒度最小。

转自:https://www.jdon.com/64695.html