SpringBoot整合Shiro静态资源拦截配置实践
作者:梁云亮
本文介绍了Spring Boot整合Thymeleaf访问resources目录下static静态资源的方法,并提供三种解决方式,方法一通过修改访问路径,方法二在yml文件中修改配置,方法三通过创建statics目录并调整拦截配置来实现
springboot整合thymeleaf会默认访问resources文件下的static目录
方法一
map.put("/static/**","anon");
改为
map.put("/css/**","anon");
map.put("/img/**","anon");
map.put("/js/**","anon");
即可引入静态资源
<link rel="stylesheet" type="text/css" href="css/login.css" rel="external nofollow" >
方法二
在yml文件中修改
spring:
mvc:
# 配置静态资源映射路径,/public、/resources路径失效
static-path-pattern: /static/**方法三
springboot默认会将static目录中的内容做为classes根目录的内容发布到web服务器, 所以如果想要放行静态资源, 同时又要实现拦截/**请求, 可以按照如下方式解决:
第一步
在static下面创建目录statics,然后将静态资源拷贝到这个目录中:

第二步
拦截配置:
filterChainDefinitionMap.put("/statics/**", "anon");
filterChainDefinitionMap.put("/**", "authc");
重启web服务器,清除浏览器缓存,此时source中已经是正确的路径了,静态资源被引用了。
问题解决~
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
