数据库与数据表设计之后台管理员管理相关数据表设计
in JavaDevelop with 0 comment

数据库与数据表设计之后台管理员管理相关数据表设计

in JavaDevelop with 0 comment

数据表概览

后台管理员相关的数据表有:

  1. permission: 权限表, 用于存储项目中的所有权限标识
  2. role: 角色表, 各后台管理员将被分配为某1种或多种角色, 各角色将具有不同的权限.
  3. role_permission: 角色权限关联表, 用于分配各角色的权限.
  4. admin: 管理员信息表
  5. admin_role: 管理员角色关联表, 用于为各管理员分配角色, 进而使得各管理员具有不同的权限.
  6. login_log:管理员登录日志表

设计思路

RBAC模型

RBAC模型(Role-Based Access Control:基于角色的访问控制)

RBAC认为权限授权的过程可以抽象地概括为: Who是否可以对What进行How的访问操作, 并对这个逻辑表达式进行判断是否为True的求解过程.

在RBAC种, 有3各基础组成部分, 分别是:用户, 角色和权限.

核心概念包括;

  1. User(用户): 每个用户都有唯一的UID识别, 并被授予不同的角色.
  2. Role(角色): 不同角色具有不同的权限.
  3. Permission(权限): 访问权限
  4. 用户-角色映射: 用户和角色之间的映射关系
  5. 角色-权限映射: 角色和权限之间的映射.

三个安全原则

  1. 最小权限原则: RBAC可以将角色配置成其完成任务所需的最小权限集合.
  2. 责任分离原则: 可以通过调用相互独立互斥的角色来共同完成敏感的任务, 例如要求一个记账员和财务管理员共同参与统一过账操作.
  3. 数据抽象原则: 可以通过权限的抽象来体现, 例如财务操作用借款, 存款等抽象权限, 而不是使用典型的读,写,执行权限.

表设计