一.session处理
1.1 登录成功后主体为用户
以前登录成功,传的是username,现在传主体Employee对象
1.2 UserContext
session是从subject获取,存在shiro的session中后,HttpSession也会有值
二.授权管理
2.1 FilterChainDefinitionMapFactory
2.2 获取授权
自定义realm修改
2.3 Ajax请求的权限处理
shiro处理没有权限是跳转页面,而我们如果是ajax请求,我们希望是返回json数据 ajax请求会有一个请求头:X-Requested-With: XMLHttpRequest 需要自定义一个shiro的权限过滤器
2.3.1 自定义权限过滤器
2.3.2 applicationContext-shiro.xml
2.3.3 修改过滤器配置
三.菜单管理
员工 -> 角色 -> 权限 ->菜单
3.1 Menu
3.2 MenuRepository
3.2 MenuService
3.3 UtilController中返回值
3.4 main.jsp修改路径
$('#menuTree').tree({
url:'/util/loginUserMenu',
四.shiro:hasPermission
对没有权限的人不开放功能按钮