RBAC (Role-Based Access Control,基于角色的访问控制)是目前最常用的权限管理模型,核心逻辑是 "先给用户分配角色,再给角色分配权限",避免用户与权限直接绑定导致的管理混乱。下面从 "概念理解→关联关系→配置思维导图" 逐步拆解,用图表帮你理清逻辑。
一、先搞懂 RBAC 的 3 个核心概念
作为小白,先记住 3 个关键 "身份",后续所有关联都围绕它们展开:
概念 | 大白话解释 | 举例(比如一个公司系统) |
---|---|---|
用户(User) | 系统的使用者,是权限的 "最终接收者" | 员工张三、财务李四、管理员王五 |
角色(Role) | 一组 "权限的集合",是用户和权限的 "中间桥梁" | 普通员工角色、财务角色、管理员角色 |
权限(Permission) | 系统中可操作的 "最小单元"(比如看页面、点按钮) | 查看考勤表、导出财务报表、删除用户 |
二、RBAC 核心关联关系:一张图看懂
RBAC 的核心是 "多对多关联",用下面的 "实体关系图" 能直观理解(箭头表示 "分配" 关系):
graph TD
A[用户 User] -->|1个用户可拥有多个角色
1个角色可分配给多个用户| B[角色 Role] B -->|1个角色可拥有多个权限
1个权限可分配给多个角色| C[权限 Permission] C -->|权限对应具体操作| D[具体操作]
1个角色可分配给多个用户| B[角色 Role] B -->|1个角色可拥有多个权限
1个权限可分配给多个角色| C[权限 Permission] C -->|权限对应具体操作| D[具体操作]
graph TD
A[用户 User] -->|1个用户可拥有多个角色
1个角色可分配给多个用户| B[角色 Role] B -->|1个角色可拥有多个权限
1个权限可分配给多个角色| C[权限 Permission] C -->|权限对应具体操作| D[具体操作(如:查看报表/删除数据)] %% 举例补充 A1[用户:张三] --> B1[角色:普通员工] A2[用户:李四] --> B2[角色:财务] A2 --> B1[角色:普通员工] %% 李四既是财务也是普通员工 B1 --> C1[权限:查看考勤] B1 --> C2[权限:提交请假] B2 --> C3[权限:查看财务报表] B2 --> C4[权限:导出工资单] B3[角色:管理员] --> C5[权限:删除用户] B3 --> C6[权限:修改角色]
1个角色可分配给多个用户| B[角色 Role] B -->|1个角色可拥有多个权限
1个权限可分配给多个角色| C[权限 Permission] C -->|权限对应具体操作| D[具体操作(如:查看报表/删除数据)] %% 举例补充 A1[用户:张三] --> B1[角色:普通员工] A2[用户:李四] --> B2[角色:财务] A2 --> B1[角色:普通员工] %% 李四既是财务也是普通员工 B1 --> C1[权限:查看考勤] B1 --> C2[权限:提交请假] B2 --> C3[权限:查看财务报表] B2 --> C4[权限:导出工资单] B3[角色:管理员] --> C5[权限:删除用户] B3 --> C6[权限:修改角色]
三、RBAC 配置思维导图(可直接落地)
下面用思维导图形式,拆解从 "初始化" 到 "日常维护" 的完整配置流程,每个步骤都有小白能懂的操作说明:
