出现这个问题就是当前请求没有用户登录
1.确实没有登录
页面是通过一个连接,或者是 iframe签入进来的
2.登录了但是shiro的拦截器配置了 无需认证即可访问
filterChainDefinitionMap.put("/activiti_process/**", "anon");
比如我后台的访问路径为: 127.0.0.1:8080/jeecg-boot/activiti_process/listData
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
然后获取登录用户一直为空,原因就是无需认证就可访问,shiro对当前请求没有做用户登录验证,
shiro自然就无法获取当前用了
解决方法:
把这个方法的无需认证就可访问去掉就行了
//LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
不为空了: