设计权限管理模块
1. ”用户-角色-权限“模型
常见的就是基于角色的访问控制,用户通过角色与权限进行关联。一个用户拥有多个角色,一个角色拥有多个权限。构成”用户-角色-权限“模型。通常用户与角色之间,角色与权限之间都是多对多的关系。
数据库设计ER图如下:
2. 带用户组”用户-角色-权限“模型
如果用户的数量非常大,给每个用户分配权限,将是一件繁琐的事情,所以可以增加一个用户组,每个用户组有很多的用户,除了给单个的用户分配权限,也可以对用户组分配权限,一次授权可以同时给多个用户授予相同的权限。用户拥有的权限是用户个人拥有的权限与该用户所在用户组所拥有的权限之和。
3. 用户-角色-权限-资源模型
应用系统的权限:
- 菜单访问(页面级别)
- 功能模块的操作(功能级别)
- 文件上传删除
- 页面的按钮图片等
等等
可将功能权限作为一个类,把文件、菜单、页面的元素作为另一个类构成用户-角色-权限-资源模型。