Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Queja] Metodos obsoletos

Estas últimas clases y las que siguen supongo no se pueden continuar con el curso porque los métodos usados están obsoletos, pero ese no es el problema, sino cuando el instructor, aun viendo que el IDE le señaló que authorizedRequests por ejemplo, estaba en desuso, continuó. Al igual que con @AutoWired, dijo múltiples veces que era una mala práctica y no entiendo por qué no lo hizo de la forma correcta. Lo que se siente como una falta de capacitación y de investigar un poco sobre las novedades del framework, cosas necesarias para dar el curso.

Spring es demasiado amplio y su documentación compleja, para los que recién aprenden este tipo de cosas les puede costar mucho, por eso acceden a este tipo de cursos.

2 respuestas

Hola Jhon,

Entiendo tus preocupaciones y te agradezco por compartirlas. Es cierto que en el mundo de la programación, las tecnologías y los métodos cambian y se actualizan con frecuencia, y puede ser frustrante cuando un curso no sigue el ritmo de estos cambios.

Sobre los métodos obsoletos, los métodos se vuelven obsoletos porque se han desarrollado formas más eficientes o seguras de hacer las cosas, pero los métodos obsoletos a menudo siguen funcionando. En el caso de authorizedRequests y @AutoWired, aunque se consideren obsoletos, todavía funcionan en las versiones actuales de Spring Boot.

Dicho esto, entiendo que es importante aprender las mejores prácticas y mantenerse al día con los cambios en la tecnología. En el caso de @AutoWired, por ejemplo, la inyección de dependencias a través de constructores se considera una mejor práctica porque hace que las dependencias sean más explícitas y facilita la escritura de pruebas unitarias.

En cuanto a authorizedRequests, la nueva forma de hacer lo mismo sería utilizando httpSecurity.authorizeRequests(). Un ejemplo de cómo se vería esto sería:

httpSecurity
    .authorizeRequests()
    .antMatchers("/login").permitAll()
    .anyRequest().authenticated();

En este caso, estamos diciendo que cualquier solicitud debe ser autenticada, excepto las solicitudes a "/login", que están abiertas a todos.

Espero que esto aclare un poco tus dudas. A veces, los instructores pueden optar por utilizar métodos obsoletos para simplificar los conceptos para los principiantes, o porque el curso se creó antes de que los métodos se volvieran obsoletos. Sin embargo, siempre es una buena idea investigar y aprender las mejores prácticas actuales.

Espero haber ayudado y buenos estudios! Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

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

Buenas noches,

la implementación de arriba también está deprecada. No obstante, como Adriana dice son buenas prácticas mantenerse actualizado. Para este punto ya se debió haber notado que http.csrf como se usaba en vídeos anteriores ya se encuentra deprecada.

Les dejo tanto la implementación que, al menos a mí me funcióno, así como la documentación donde se menciona la migración (recomiendo leerla)

Método:

@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
    return httpSecurity
            .csrf(csrf -> csrf.disable())
            .sessionManagement(sess -> 
                sess.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
            .authorizeHttpRequests((authorize) -> 
            authorize.requestMatchers(HttpMethod.POST,"/login")
            .permitAll()
            .anyRequest().authenticated())
            .build();
}

Enlace a Documentación de Spring, sobre la Migración de la implementación de la nueva interfaz (Ver uso de Lambdas): https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html

Feliz noche.