前景
如何设计一个基础的 用户-角色-权限 模型
例如,一个博客管理后台,可以添加很多用户,分配不同的角色,不同的角色具有不同的权限
- 普通用户:查看博客,审核通过博客,下架博客
- 管理员:修改博客,删除博客 + 普通用户的权限
- 超级管理员:添加用户,删除用户,绑定用户 + 普通用户的权限 + 管理员权限
RBAC 模型
RBAC - Role-based access control 基于角色的访问控制,可以满足绝大部分管理系统的管理权限控制。
-
三个模型
- 用户
- 角色
- 权限
-
两个关系 (以角色为“轴”)
- 角色 - 用户
- 角色 - 权限
举例
User用户表中存储用户信息,Role角色表中存储不同的角色,Priority权限表中存储各个权限,然后将用户和角色(User-Role)相关联,每个用户可有一个或多个角色,再将角色和权限(Role-Priority)相关联,每个角色存在多个不同的权限。
功能
- 用户管理
- 增删改查
- 绑定角色
- 角色管理
- 增删改查
- 绑定权限
- 权限管理
- 增删改查