SpringSecurity 5.7中如何设置OncePerRequestFilter过滤器对特定路径不生效
时间: 2023-11-17 12:10:29 浏览: 152
在Spring Security 5.7中,可以通过配置WebSecurity来排除特定路径不受OncePerRequestFilter过滤器的过滤。具体步骤如下:
1. 创建一个继承自OncePerRequestFilter的过滤器类。
```java
public class CustomFilter extends OncePerRequestFilter {
// 这里是过滤器的具体实现
}
```
2. 在WebSecurityConfigurerAdapter子类中配置WebSecurity。
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// 这里是其他的HttpSecurity配置
.addFilterBefore(new CustomFilter(), UsernamePasswordAuthenticationFilter.class)
.authorizeRequests()
.antMatchers("/exclude/path/**").permitAll()
.anyRequest().authenticated();
}
}
```
在上面的代码中,通过addFilterBefore方法将CustomFilter添加到UsernamePasswordAuthenticationFilter之前,然后使用antMatchers方法指定不需要被过滤的路径,这些路径将会被放行,其他路径则需要进行身份认证。
阅读全文