以下是一个简单的权限表设计,包含用户、角色和权限三个主要表:
用户表(user):
字段名 | 类型 | 描述 |
---|---|---|
id | INT | 用户ID(主键) |
name | VARCHAR | 用户名 |
VARCHAR | 用户邮箱 | |
password | VARCHAR | 用户密码 |
角色表(role):
字段名 | 类型 | 描述 |
---|---|---|
id | INT | 角色ID(主键) |
name | VARCHAR | 角色名称 |
desc | VARCHAR | 角色描述 |
权限表(permission):
| 字段名 | 类型 | 描述 | | ———|———|——————-| | id | INT | 权限ID(主键) | | name | VARCHAR | 权限名称 | | url | VARCHAR | 权限URL |
用户-角色关联表(user_role):
| 字段名 | 类型 | 描述 | | ———–|———|—————————| | user_id | INT | 用户ID | | role_id | INT | 角色ID |
角色-权限关联表(role_permission):
| 字段名 \ 类型 \ 描述 | ————\——–\—————————–| | role_id \ INT \ 角色ID | | permission_id | INT | 权限ID |
这个设计中,用户和角色是多对多的关系。每个用户可以拥有多个角色,每个角色可以包含多个用户。同时,每个角色也可以拥有多个权限,一个权限也可以分配给多个角色。通过这样的关联关系,实现了灵活的权限控制机制。