Duas coisas. Voce nao parece ter declarado totalmente o securityFilter para incluí-lo no addFilterBefore
Inclua:
private final SecurityFilter securityFilter;
public SecurityConfig(SecurityFilter securityFilter) {
this.securityFilter = securityFilter;
}
Não se usa mais o .and() no padrão novo...
Vou te mostrar um exemplo de como fiz num projeto pessoal aqui essa parte, vc pode replicar aí de acordo com sua necessidade.
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
return http
.csrf(AbstractHttpConfigurer::disable)
.cors(Customizer.withDefaults())
.sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(req -> {
req.requestMatchers(HttpMethod.POST, "/api/login").permitAll();
req.requestMatchers(HttpMethod.POST, "/api/users").permitAll();
req.requestMatchers(HttpMethod.GET, "/swagger-ui/**").permitAll();
req.requestMatchers(HttpMethod.GET, "/v3/api-docs/**").permitAll();
req.anyRequest().authenticated();
})
.addFilterBefore(securityFilter, UsernamePasswordAuthenticationFilter.class)
.build();
}
Qualquer dúvida responde aqui.