/webjars/ 路径下的资源被拦截了,只需在拦截器中添加该白名单即可"/webjars/**" 具体配置
时间: 2024-12-04 21:26:04 浏览: 11
/webjars/路径通常用于Spring Boot应用中管理WebJars库,即通过Maven或Gradle插件将静态依赖包作为jar文件提供给前端。当这个路径下的资源被Web服务器拦截或访问受限时,可以在Spring Security或自定义的拦截器(如Filter或Interceptor)中设置白名单规则。
在Spring Security配置里,你可以添加一个`AntPathRequestMatcher`来指定允许访问的路径模式,例如:
```java
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatchers("/webjars/**").permitAll() // 允许所有请求访问/webjars下的资源
.authorizeRequests()
// ...其他授权规则...
}
}
```
或者如果你使用的是Spring MVC的拦截器,可以在`WebMvcConfigurerAdapter`中添加一个全局过滤器:
```java
@Configuration
public class GlobalFiltersConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new WebJarsResourceAccessInterceptor())
.addPathPatterns("/webjars/**") // 白名单配置
.excludePathPatterns("/**"); // 可选,排除不需要拦截的路径
}
}
class WebJarsResourceAccessInterceptor implements HandlerInterceptor {
// 实现具体的拦截逻辑,允许/webjars资源通过
}
```
在这个配置下,只要URL符合`/webjars/**`的模式,就会被允许访问,无需身份验证或其他权限检查。
阅读全文