In un recente aggiornamento di Spring, è stata applicata una modifica riguardante Spring Security e in particolare nella configurazione della sicurezza tramite la classe WebSecurityConfigurerAdapter, che risulta ora deprecata. Se utilizzi questa classe all’interno della tua applicazione, allora dovrai aggiornare il tuo codice. 

Infatti, dalla versione 5.7.0-M2 di Spring Security disponibile in SpringBoot 2.7.x, la classe WebSecurityConfigurerAdapter è stata deprecata per incoraggiare gli utenti a passare ad una configurazione di sicurezza basata sui componenti, come descritto nel blog di Spring in questo post.

Ma come effettuare questa “migrazione”? 

Niente paura, si tratta di qualcosa di molto semplice e veloce.

 

Configurare Spring Security senza WebSecurityConfigurerAdapter

Per configurare correttamente Spring Security senza WebSecurityConfigurerAdapter, devi innanzitutto non estendere più la classe e rimuovere l’implementazione del metodo configure ereditato

A questo punto, aggiungi un nuovo Bean di tipo SecurityFilterChain e configura HttpSecurity allo stesso modo del metodo configure utilizzato in precedenza, ad esempio:

// SecurityConfig con WebSecurityConfigurerAdapter
    
    @Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and().csrf().disable();
        // ...
    }
}
// SecurityConfig senza WebSecurityConfigurerAdapter

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.cors().and().csrf().disable();
        // ...
        return http.build();
    }
}
 

Con questa semplice modifica avrai correttamente configurato Spring Security senza la classe deprecata WebSecurityConfigurerAdapter passando ad una configurazione basata su componenti. 

Se vuoi approfondire o scoprire l’argomento sicurezza in un’applicazione Spring Boot, troverai all’interno di lateralecloud.it un articolo dedicato che spero possa esserti utile. Se invece intendi scoprire Spring Boot in altri suoi aspetti, in questa pagina troverai l’elenco di tutte le risorse disponibili gratuitamente sul sito.

Recommended Posts