权限系统设计

  • 权限系统分为功能权限和数据权限,功能权限由权限系统控制,数据权限一般视为业务逻辑耦合在系统内。

功能权限设计

方式
  • 基于角色的权限访问控制(Role-Based Access Control)RBAC

表设计

基本表
  • Permission 权限表 对应前端的每一个具体的功能。
  • Role 角色表 权限的集合
  • Group 用户组表 对应用户组织,用户组表不直接拥有权限,而是通过角色拥有权限,一般来说,用户组表部分对应公司的集团结构,如某集团组,某公司组,某部门组,但有些与公司结构无关,如经理组,维护组,审核组等。
  • User 用户表 用户表不直接拥有权限和角色,而是通过属于某用户组而间接拥有权限。

关联表
  • RolePermission 角色权限关联表
  • GroupRole 用户组角色关联表
  • UserGroup 用户用户组关联表

数据权限设计

  • 支付管理系统中,数据一般会属于某公司,不同公司之间不能互相查看数据,此权限可以通过借助功能权限的用户组表来实现,每条数据对应到某公司,查询时通过查询条件来查询到只属于对应公司的数据。

例子

https://github.com/gaoxingyun/star-admin