2
respuestas

[Sugerencia] Métodos deprecados

Para los compañeros que al igual que yo al crear el proyecto usando spring initializr seleccionaron la versión de spring boot 3.1.0 y al llegar a estas últimas clases se dan cuenta que hay algunos métodos deprecados en el código de la clase SecurityConfigurations les dejo la solución que dí a este problema investigando.

public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
    httpSecurity.csrf(csrf->csrf.disable())
                .sessionManagement((sess-> sess.sessionCreationPolicy(SessionCreationPolicy.STATELESS)))
                .authorizeHttpRequests((request -> request.requestMatchers(HttpMethod.POST,"/login")
                        .permitAll()
                        .anyRequest().authenticated()))
                .addFilterBefore(securityFilter, UsernamePasswordAuthenticationFilter.class);
        return httpSecurity.build();
}
2 respuestas

Hola Leonel, espero que estés bien.

Genial =) Felicitaciones por tu aprendizaje, gracias por compartir con nosotros, eso enriquece nuestros conocimientos. Continúa con ese empeño.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.

Me sirvió tu comentario para armar mi metodo securityFilterChain en la clase SecurityConfigurations. Así lo implementé y me funcionó:

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
        return httpSecurity
                .csrf(csrf -> csrf.disable())
                .sessionManagement((session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))) // Le indicamos a spring el tipo de sesion, la politica de creacion es STATELESS
                .authorizeHttpRequests((request -> request.requestMatchers(HttpMethod.POST, "/login") // Cada request que haga match del tipo post y va para el login
                        .permitAll() // Concede todos los permisos
                        .anyRequest() // Los request que vayan despues
                        .authenticated() // Debe ser autenticados
                )).build(); // Al final construye el objeto
    }