SecurityUtils.getSubject().getPrincipal()为null
我在项目中获取getUserId(),和getUserName()获取不到值。
他们都是通过SecurityUtils.getSubject().getPrincipal()去获取的。
反复测试发现原因是 :在shiroConfig里面:
该方法,注意(是该接口名)被写为anon,不通过验证,即:
filterMap.put("/druid/**", “anon”);
这种写法是为了postman测试时不被拦截。
解决办法:
从页面访问后端不需要anon了。
- anon是不做拦截,authc是走自定义拦截
oauth2是自带拦截
修改为: filterMap.put("/druid/**", “authc”);