写了一个拦截器用于登录状态控制,写入了这么一句话,让其在所有路径生效:
registration.addPathPatterns("/**");
以及静态资源排除
registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/resources/");
结果所有的静态文件还是被拦截了,仔细分析了一下,问题出在thymeleaf上,以登录页面为例:
<link rel="stylesheet" th:href = "@{css/theme.css}"/>
那么这个css文件就交由thymeleaf处理了,也就是引用路径为
…/css/theme.css
在网页上测试也果然如此(此时不生效拦截器)
因此,只需要在拦截器排除对应路径就好了
如下:
根据你tymeleaf所代理的路径来就行
registration.excludePathPatterns("/css/**","/js/**","/pic/**");
成功!!!
版权声明:本文为weixin_43978037原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。