我在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");
}

09-10 21:47