复杂权限系统表的设计
用户、组、角色、权限
1.用户可以同时属于多个组,一个组可包含多个用户(多对多)
2.用户拥有多个角色,一个角色可同时属于多个用户(多对多)
3.组拥有多个角色,一个角色可同时属于多个组(多对多)
4.用户拥有多个权限,一个权限可同时属于多个用户(多对多)
5.组拥有多个权限,一个权限可同时属于多个组(多对多)
6.角色拥有多个权限,一个权限可同时属于多个角色(多对多)
最终,角色所拥有的权限=角色本身拥有权限
组所拥有的权限=组本身拥有的权限+组拥有角色所拥有的权限
用户所拥有的权限=用户本身拥有的权限+用户所属组所拥有权限+用户拥有角色所有的权限
[解决办法]
用户表
角色表
功能表
用户角色关联表
角色功能关联表
[解决办法]
用户表(用户ID,名称)
角色表(角色ID,名称)
功能表(功能ID,名称)
组表(组id,名称)
用户、角色组功能关联表(用户角色组id,功能id)
用户组角色表(用户点,组或角色id)