关于SpringBoot下Shiro的拦截器配置中anon不起作用的问题

  |   0 评论   |   0 浏览

我在配置文件application.yml中的配置和shiroFilter中动态拦截器注入的代码如下图所示,启动后访问 /login/auth登录请求接口时,依然是被Shiro拦截的;

image.pngimage.png

其实问题就出在shiroFilter的动态拦截注入的代码中;因为shiro的拦截是从上往下依次匹配的,所以在配置中,需要将
/**放在最后,然后依次设置需要放行或拦截的资源。所以既然配置文件中的资源已经是正确的配置了,为啥启动后访问还是被拦截了呢?这是因为HashMap是无序的,在启动时,配置文件被加载了,存储到了 filterRuleMap中,但是它已经变成无序的了;解决方法就是让 filterRuleMap变的有序,修改后的代码如下:

image.png

好了,重新启动你的服务,然后访问 /login/auth接口,现在已经按照你的设定完成了操作;


文章标题:
文章作者:TuChief
本文链接:http://www.tuchief.com/
版权声明: 本文章不涉及商业用途,仅供学习参考,欢迎转载。除特别声明外,转载请注明出处和原文链接!