权限管理最基本功能,不同角色应该显示不同菜单
权限管理6大步
菜单可见和不可见:
1、不同角色看不同菜单的,表设计思路;
2、不同角色看不同菜单的,表修改思路;
资源可访问和不可访问:
3、shiro,登录后才能访问特定资源;
4、shiro,登录后不同角色可以访问不同资源;
5、shiro,登录后不同角色可以访问同一个资源里面的不同方法;
6、shiro,登录后不同角色可以访问同一个资源同一个方法的不同部分;
1. 需求
在一个管理系统,不同员工应该属于不同角色,不同角色应该看到不同菜单
2. 效果
比如,超级管理员,可以看到所有目录:
比如,销售经理,只看到【销售管理】相关目录:
比如,采购经理,只看到【采购管理】相关目录:
3. 抽象出5张表
开始抽象3张表
表 | 表作用 |
---|---|
员工表 | 存储员工信息 |
角色表 | 存储角色信息 |
菜单表 | 存储菜单目录信息 |
- 3张表的关系如下:
员工和角色,多对多:一个员工可以有多个角色,一个角色可以被多个员工拥有。
角色和菜单,多对多:一个角色可以有多个菜单,一个菜单可以被多个角色拥有。
所以,3张表要建立关联,再添加两张中间表。
新增两张中间表
表 | 表作用 |
---|---|
员工角色表 | 联合员工和角色 |
角色菜单表 | 联合角色和菜单 |
5张表的模型图如下:
4. 根据登录用户的用户名,查询应该显示的菜单
假设用户名为“sunwukong”,那么对于的sql如下:
查询后的结果如下:
至此,权限管理的基本菜单显示控制就有了。其他内容,后续补上!