这是一个经典的 RBAC(Role-Based Access Control) 模型,三者形成清晰的层级关系:
权限(Permission) ←─ N:N ─→ 角色(Role) ←─ 1:N ─→ 管理员(AdminUser)
权限表示例数据:
id | name | code | type
----|--------------|----------------------|------
1 | 查看用户列表 | user:list:view | 1(菜单)
2 | 添加用户 | user:add:create | 2(按钮)
3 | 删除用户 | user:delete:remove | 3(接口)
4 | 查看订单 | order:list:view | 1
5 | 导出订单 | order:export:create | 2
特点:
角色表示例数据:
id | name | code | description
----|----------|------------|---------------
1 | 超级管理员 | superadmin | 拥有所有权限
2 | 运营人员 | operator | 负责日常运营
3 | 财务人员 | finance | 财务管理权限
角色权限关联表:
role_permission 表:
role_id | permission_id
--------|--------------
2 | 1 # 运营可以查看用户
2 | 4 # 运营可以查看订单
3 | 4 # 财务可以查看订单
3 | 5 # 财务可以导出订单
角色的作用:
管理员表示例数据:
id | username | realname | role_id
----|----------|----------|--------
1 | admin | 张三 | 1 # 超级管理员
2 | user1 | 李四 | 2 # 运营人员
3 | user2 | 王五 | 3 # 财务人员
核心思想: