权限设计 - swiftdo/vapor-blog GitHub Wiki
涉及表:用户、角色、权限、菜单
关系:
- 用户有多个角色,一个角色会被多个用户所拥有
- 一个角色有多个权限, 一个权限会被多个角色所拥有
- 一个权限可以绑定多个菜单,一个菜单可能被多个权限绑定(菜单这块建议绑定的时候是一对一)
角色表
表字段 |
说明 |
id |
主键 |
name |
角色名字 |
created_time |
创建时间 |
updated_time |
更新时间 |
权限表
表字段 |
说明 |
id |
主键 |
name |
权限名字 |
code |
权限码,比如:view_users, edit_user |
created_time |
创建时间 |
updated_time |
更新时间 |
用户角色表
表字段 |
说明 |
id |
主键 |
role_id |
角色id |
user_id |
用户id |
created_time |
创建时间 |
updated_time |
更新时间 |
角色权限表
表字段 |
说明 |
id |
主键 |
role_id |
角色id |
permission_id |
权限id |
created_time |
创建时间 |
updated_time |
更新时间 |
菜单表
菜单表,在展示后台页面的时候,管理员很普通用户的菜单是不一样的。所以需要根据用户的权限不同呈现不同的菜单。
表字段 |
说明 |
id |
主键 |
name |
菜单名 |
parent_id |
父菜单 |
weight |
权重 |
created_time |
创建时间 |
updated_time |
更新时间 |
权限菜单表
表字段 |
说明 |
id |
主键 |
permission_id |
权限id |
menu_id |
菜单id |
created_time |
创建时间 |
updated_time |
更新时间 |
参考
