1
resposta

WebSecurityConfigurerAdapter deprecated - nova implementação

Implementei inicialmente a SecurityConfiguration como mostrado na aula, mas vi o alerta do Intellij de que a classe WebSecurityConfigurerAdapter está deprecated. Pesquisando na internet, descobri que a configuração do Spring Security foi simplificada. Aparentemente agora não é necessário configurar explicitamente o userDetailsService nem o PasswordEncrypter - basta ter na aplicação beans que implementem as respectivas interfaces.

Para o PasswordEncrypter implementei um bean na SecurityConfiguration, mas para o userDetailsService não foi necessário, pois como o UsuarioService é um Bean (pois está anotado com @Service) e implementa a interface UserDetailsService, o Spring Security já o usa automaticamente como userDetailsService.

Minha classe SecurityConfiguration ficou assim:

@Configuration
@EnableWebSecurity
class SecurityConfiguration() {

    @Bean
    fun filterChain(http: HttpSecurity): SecurityFilterChain {
        http.authorizeHttpRequests().anyRequest().authenticated()
            .and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and().formLogin().disable().httpBasic()
        return http.build()
    }

    @Bean
    fun encoder(): PasswordEncoder? {
        return BCryptPasswordEncoder()
    }

}

Referência: https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter

1 resposta

Opa, bem maneiro ein, Leonardo. Muito obrigado pela contribuição, cara =)