编辑导语:这篇文章基于B端平台的权限体系设计,细致地阐述了作者对于RBAC模型的理解,并向我们展示了RBAC模型的具体应用和逻辑实现过程。感兴趣的话就一起看一下吧。

在以往多个0~1大型数字中台项目中,底层权限体系是我最关心的,也要求产品经理和开发同学、尤其是后端开发必须熟悉后方可进入产品开发项目。
RBAC模型给了B端产品非常容易理解的权限方法,平台中也有很多RBAC相关的文章介绍。本篇重点介绍实际的技术实现过程,供大家参考,方便B端产品经理与开发同学的沟通,避免走弯路(曾经3个项目在此处折损颇多)。
一、权限体系的基础介绍
权限体系的要素有:业务组织、角色、用户和权限、页面、视图。
- 组织、角色、用户是基于业务变化可即时调整的。
- 权限是**层属性,由开发人员基于业务需求开发实现。权限约束的对象是后台的具体实例。根据数据接口安全需要,可设计专用的接口权限。权限分功能权限(含菜单权限)、组织权限、数据权限。
- 页面、视图是系统按照业务配置、给对应用户呈现的内容。
详细的权限体系说明,可参考 《成熟CRM系统的权限体系解析》 一文。
二、对RBAC模型的深度理解
RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。

RBAC模型强调了用户、角色、权限间的关系,但在B端业务应用中是不能脱离业务部门存在的,因此4者必须建立关系。除了以上4张表外,后台还需记录用户、业务部门、角色的关系表,如下图:

闽ICP备13000641号-4