我在Spring Boot应用程序中实现Spring Security以执行JWT验证,其中我有一个过滤器以及一个AuthenticationManager和一个AuthenticationProvider。我想做的是我想禁用某些资源路径的安全性(基本上使它们不安全)。
我在securityConfig类(从WebSecuirtyConfigurerAdapater扩展)中尝试过的内容如下:
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity.addFilterBefore(buildJwtTokenAuthenticationProcessingFilter(),
UsernamePasswordAuthenticationFilter.class);
httpSecurity.authorizeRequests().antMatchers("/**").permitAll();
httpSecurity.csrf().disable();
httpSecurity.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
我现在想做的就是让所有资源路径都不安全,
但是上面的代码不起作用,我的CustomAuthenticationProvider(从AuthenticationProvider扩展)中的authenticate方法每次都执行
无论在每个请求上使用permitAll,都将执行身份验证段。我也尝试了anyRequest来代替antMatchers:
httpSecurity.authorizeRequests().anyRequest().permitAll();
任何帮助,将不胜感激。
最佳答案
在您的类中重写以下方法,以扩展WebSecuirtyConfigurerAdapater:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/unsecurePage");
}