Autenticación
Usuarios reales, contraseñas correctamente hasheadas, fallos bien gestionados.
Autenticación con Spring Security
El día que se filtra una base de datos, lo único que sigue protegiendo a sus usuarios es la forma en que se almacenaron sus contraseñas. No es una hipótesis pesimista: decenas de millones de cuentas circulan en listas públicas, y la inmensa mayoría procede de bases en las que las contraseñas estaban en claro, o hasheadas con un algoritmo diseñado para ser rápido. Una contraseña hasheada con MD5 se recupera en unos segundos con una GPU de segunda mano.
La autenticación es, por tanto, el punto del curso en el que más importa la exactitud. El resto —las reglas de URL, los roles, los tokens— protege una sesión; el hash protege a sus usuarios después del incidente, incluso en los demás sitios donde hayan reutilizado la misma contraseña.
Spring Security se toma este asunto tan en serio que se niega a arrancar si almacena una contraseña sin indicar el algoritmo empleado. Esta lección muestra cómo conectar sus propios usuarios, qué codificador elegir y cómo gestionar los fallos sin ofrecerle a un atacante la lista de sus cuentas válidas.
También verá las dos piezas que faltan en la mayoría de los tutoriales: qué hace exactamente DaoAuthenticationProvider entre el formulario y su base de datos, y por qué un mensaje de error demasiado preciso basta para enumerar a sus usuarios.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión