权限系统设计
- 权限系统分为功能权限和数据权限,功能权限由权限系统控制,数据权限一般视为业务逻辑耦合在系统内。
功能权限设计
方式
- 基于角色的权限访问控制(Role-Based Access Control)RBAC
表设计
基本表
- Permission 权限表 对应前端的每一个具体的功能。
- Role 角色表 权限的集合
- Group 用户组表 对应用户组织,用户组表不直接拥有权限,而是通过角色拥有权限,一般来说,用户组表部分对应公司的集团结构,如某集团组,某公司组,某部门组,但有些与公司结构无关,如经理组,维护组,审核组等。
- User 用户表 用户表不直接拥有权限和角色,而是通过属于某用户组而间接拥有权限。
关联表
- RolePermission 角色权限关联表
- GroupRole 用户组角色关联表
- UserGroup 用户用户组关联表
数据权限设计
- 支付管理系统中,数据一般会属于某公司,不同公司之间不能互相查看数据,此权限可以通过借助功能权限的用户组表来实现,每条数据对应到某公司,查询时通过查询条件来查询到只属于对应公司的数据。
例子
https://github.com/gaoxingyun/star-admin