前言:实现什么用户下有什么菜单,这不仅是在数据库的设计上要花上一番功夫,同时在后台与前端的对接上也要有一定的考虑
1.表的设计
用shiro框架的最好规范的登录三张表,用户表、角色表、用户角色关联表,一个用户下可能存在多个角色,一个角色也可能被多个用户拥有。
用户表:
用户表的关键字段为id,loginName,name,passwd,status
其中passwd是通过shiro的md5加密方式生成的,status字段为启用或者锁定,available或者locked,用于后台代码处理登录逻辑
角色表:
关机字段:id,name,status
用户角色关联表:
建完这三个表后考虑菜单挂接,菜单是根据角色来划分的
关键字段:id,parrent_id,name,resource_type,url,permission,status
parrent_id是父级id,用0表示一级主菜单,1为下级菜单,依次递增,resource_type表示资源类型,是menu型还是Entry型,看可否直接点击进入的
角色菜单挂接表:
2.结构设计
设想 :将通过admin的用户来登录,来设置用户,分发给用户角色,对应的角色有其对应的菜单
我们原有的系统是通过用户来挂接菜单的,如下图
这样少了一层角色的管理,细粒度较粗。
最好把菜单独立出来,进行编辑,而菜单交由角色管理