springboot 整合shiro无法访问静态资源的问题

最近在学springboot 整合shiro后发现无法访问静态资源,

每次访问静态资源文件都被跳到登陆页面.

根据自己的经验是shiro拦截了,需要放行一下,springboot不是用xml配置的,在shiroFilter中添加,(我的静态资源 css js image都是放到这个目录的)


filterChainDefinitionMap.put("/static/**", "anon");

但是发现并没有什么卵用,这次虽然没有没有被shiro拦截,却提示没有资源.明明地址没有错,这是怎么回事呢?

后来发现springboot默认把所有的静态资源都映射到static目录了

也就是说本来的http://localhost:8080/static/css/main.css 需要改成

http://localhost:8080/css/main.css才可以访问,

于是我喜滋滋的往浏览器一输入,发现又被shiro拦截了....  shiro还需要放行  shiroConfig中还需要添加

 filterChainDefinitionMap.put("/image/**", "anon");//img
        filterChainDefinitionMap.put("/css/**", "anon");//css
        filterChainDefinitionMap.put("/js/**", "anon");//js

这样就可以访问了,我们在页面中引用也是同样的原理

如果还是不懂的话,可以看一下源码

https://github.com/Yanyf765/shiro


猜你喜欢

转载自blog.csdn.net/u012954380/article/details/80998889