遇到问题:
- Shiro anon白名单失效
- SpringMvc 接口mapping全部404
我的解决思路
- 首先找到在ShiroConfig配置类中我们自定义的负责拒绝请求的过滤器
- 然后在我们重写的负责拒绝请求的onAccessDenied方法中打个断点
- debug开始从这个断点往上找到匹配白名单那一步,竟然发现请求路径前面加了个不该出现东西,这里的myApp是不应该出现在Request对象的requestUri中的,由此一看,遇到的两个问题都找到原因了,shiro中配置的白名单是不包含配置的context的,SpringMvc的映射也是如此
解决:
问了一下chatgpt,原来是SpringBoot1.5.x中context是server.context-path,这个配置在SpringBoot2.0.x后需要换server.servlet.context-path,
server.context-path=/myApp
server.servlet.context-path=/myApp