Autenticación vs Autorización
En las semanas anteriores de Computación en Red 2 exploramos la arquitectura interna de Spring Boot, el ciclo de vida de los Beans, la persistencia relacional con Spring Data JPA y la construcción de vistas dinámicas con Server-Side Rendering (SSR) mediante Thymeleaf.
Codificación, Encriptación y Hashing
Uno de los errores conceptuales más frecuentes en el desarrollo de software es utilizar indistintamente los términos "codificar", "encriptar" y "hashear". Como destaca Laurențiu Spilcă en sus fundamentos de Spring Security, cada uno de estos procesos responde a un propósito matemático y operacional radicalmente diferente:
Arquitectura de Spring Security
Para dominar Spring Security sin depender de configuraciones mágicas copiadas de internet, debemos entender cómo procesa el framework cada solicitud HTTP que ingresa al contenedor de Servlets (Apache Tomcat):
Authorities vs. Roles
Una vez que el usuario está autenticado, Spring Security examina sus privilegios para determinar si tiene autorización para interactuar con las rutas o métodos del sistema.
Práctica: Spring Security y JPA
En las guías conceptuales anteriores (Autenticación vs. Autorización, Criptografía, Arquitectura de Spring Security y Authorities vs. Roles), analizamos los fundamentos teóricos del control de acceso, la cadena de filtros (SecurityFilterChain), el rol del AuthenticationManager y la validación de hashes con PasswordEncoder.
Slides de la semana
Diapositivas oficiales correspondientes a la Semana 9: Fundamentos de Spring Security, Autenticación vs. Autorización, Criptografía y Hashing con BCrypt, Arquitectura Interna del SecurityFilterChain y Modelo de Control de Acceso con GrantedAuthority y Roles.