数据表概览
后台管理员相关的数据表有:
- permission: 权限表, 用于存储项目中的所有权限标识
- role: 角色表, 各后台管理员将被分配为某1种或多种角色, 各角色将具有不同的权限.
- role_permission: 角色权限关联表, 用于分配各角色的权限.
- admin: 管理员信息表
- admin_role: 管理员角色关联表, 用于为各管理员分配角色, 进而使得各管理员具有不同的权限.
- login_log:管理员登录日志表
设计思路
RBAC模型
RBAC模型(Role-Based Access Control:基于角色的访问控制)
RBAC认为权限授权的过程可以抽象地概括为: Who是否可以对What进行How的访问操作, 并对这个逻辑表达式进行判断是否为True的求解过程.
在RBAC种, 有3各基础组成部分, 分别是:用户, 角色和权限.
核心概念包括;
- User(用户): 每个用户都有唯一的UID识别, 并被授予不同的角色.
- Role(角色): 不同角色具有不同的权限.
- Permission(权限): 访问权限
- 用户-角色映射: 用户和角色之间的映射关系
- 角色-权限映射: 角色和权限之间的映射.
三个安全原则
- 最小权限原则: RBAC可以将角色配置成其完成任务所需的最小权限集合.
- 责任分离原则: 可以通过调用相互独立互斥的角色来共同完成敏感的任务, 例如要求一个记账员和财务管理员共同参与统一过账操作.
- 数据抽象原则: 可以通过权限的抽象来体现, 例如财务操作用借款, 存款等抽象权限, 而不是使用典型的读,写,执行权限.
表设计
本文由 liyunfei 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jun 29,2022