基础业务平台:基于RBAC用户角色权限设计

2024-01-29  本文已影响0人  产品喵dandan米娜

几乎每个后台系统都会涉及到系统管理模块:包含用户、角色、权限的统一设置管理,尽管各个系统根据实际情况会有些许差异但都大同小异。因此我们可以设计一个通用的基础业务平台,后续有新的后台系统需要搭建,可以进行复用。

一、RABC是什么意思?

RBAC是基于角色的访问控制(英文全称为:Role-Based Access Control),所以RBAC就是基于角色的访问控制的英文简称啦!在 RBAC  中,权限与角色相关联,给用户赋予相对应的角色,那么这个用户就会拥有这些角色的权限。用户、角色、权限三者层级分明,互相关联,这就做可以极大地简化权限的管理。

————————————————

二、为什么要采用RABC?

职能划分更谨慎。对于角色的权限调整不仅仅只影响单个用户,而是会影响关联此角色的所有用户,管理员下发/回收权限会更为谨慎;

便于权限管理。对于批量的用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率;

在RBAC中,用户不再直接与权限相连,而是通过“角色”这一属性来间接的被赋予权限,用户通过成为适当的角色来的到这些角色固有的权限,这样处理就解耦了用户与权限的关系。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。

Who:是权限的拥有者或主体(如:User,Role)。

What:是操作或对象(operation,object)。

How:具体的权限(Privilege,正向授权与负向授权)。

(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。

1、功能权限

2、数据权限

数据字段权限

数据范围权限:按区域、按组织机构管理,当前节点/当前节点及以下节点

上一篇 下一篇

猜你喜欢

热点阅读