SecurityUtils.getSubject().getPrincipal()为null

我在项目中获取getUserId(),和getUserName()获取不到值。
他们都是通过SecurityUtils.getSubject().getPrincipal()去获取的。

反复测试发现原因是 :在shiroConfig里面:
该方法,注意(是该接口名)被写为anon,不通过验证,即:
filterMap.put("/druid/**", “anon”);

这种写法是为了postman测试时不被拦截。

解决办法:
从页面访问后端不需要anon了。

  • anon是不做拦截,authc是走自定义拦截
    oauth2是自带拦截
    修改为: filterMap.put("/druid/**", “authc”);

你可能感兴趣的:(java)