----我的分析
菜单表
m1001 update update.action ..
m1002 delete delete.action ..
m1003 add add.action ...
用户表
u1001 zhangsan
u1002 lisi
角色表
r1001 管理员
r1002 普通管理员
--角色授权表(角色,和模块)
r1001 m1001 --这个联合主键的意识是(角色表的管理员具有修改模块的权限)
rl001 m1002 --这个联合主键的意识是(角色表的管理员具有删除模块的权限)
rl002 m1003 --这个联合主键的意识是(角色表的系统具有添加模块的权限)
--角色用户表 (这个表实现了授权)
u1001 rl001 --说明zhangsan是管理员具有删除和修改模块的权限
ul002 rl002 --说明lisi是普通管理员具有添加模块的权限
以上已经实现了授权,不过有时候关联的权限过多,比如有这样的需求授权普通管理员,只要他有修改模块的权限,
比如我添加一个用户叫王五
给他授权为管理员,如果按以上设计他就不止有修改的权限了,而且他也是删除的权限,此时
就不能满足需求了,不是不能满足需求(比如要删除脚色表管理员对应的删除模块的权限)
一下设计解决此问题
--用户授权表:存储用户的授权信息(这个表实现了一步到位的授权)
u1001 m1001
用户直接和模块发生关系 这说明了用户张三直接单独拥有了修改模块的信息
注意:不是管理员张三