El siguiente codigo proporcionado por el instructor tiene problemas de obsolescencia para los metodos ** csrf(), ** sessionManagement(), ** and()
package med.voll.api.infra.security;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfigurations {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.csrf() //**The method csrf() from the type HttpSecurity has been deprecated since version 6.1 and marked for removalJava(67110275)
.disable()
.sessionManagement() //**The method sessionManagement() from the type HttpSecurity has been deprecated ...
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and() //**The method and() from the type SecurityConfigurerAdapter has been deprecated..
.build();
}
}
Encontre esta posible solución:
@Configuration
@EnableWebSecurity
public class SecurityConfigurations {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.csrf(csrf -> csrf.disable())
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.build();
}
}
En la versión corregida, se utilizan las expresiones lambda en los métodos csrf y sessionManagement para configurar la protección CSRF y la gestión de sesiones, respectivamente. Estas expresiones se encargan de deshabilitar el CSRF y establecer la política de creación de sesiones como stateless.
Espero que ayude
saludos