Me dijeron que es posible hacer una aplicación web que no requiera un inicio de sesión. El usuario inicia sesión en Windows, que se autentica mediante una búsqueda de Active Directory (LDAP). Luego, deberían poder ir a mi aplicación web y nunca ver un mensaje de inicio de sesión. Estos clientes se han referido a esto como Single Sign On (quizás incorrectamente y como parte de mi confusión).
Pero, por lo que leí Single Sign On de los documentos de Tomcat es:
La válvula de inicio de sesión único se utiliza cuando desea dar a los usuarios la capacidad de iniciar sesión en cualquiera de las aplicaciones web asociadas con su host virtual , y luego que todas las demás aplicaciones web reconozcan su identidad en el mismo host virtual.
Esto está perfectamente claro para mí. El usuario tiene que iniciar sesión una vez y puede acceder a todas las aplicaciones web en una instancia de tomcat. Pero, lo que tengo que hacer es permitirles iniciar sesión sin proporcionar ninguna credencial a mi servidor Tomcat.
Entonces, para que esto funcione, me imagino:
- El usuario solicita alguna página
- El servidor no ve ningún token de sesión y luego solicita al cliente algunas credenciales.
- El navegador del cliente sin ninguna intervención del usuario proporciona algunas credenciales al servidor.
- Luego, utilizando esas credenciales proporcionadas por el navegador del cliente, realiza una búsqueda en un LDAP.
He visto algunos ejemplos que usan certificados del lado del cliente ... particularmente el sistema DoD PKI que tiene sentido para mí porque en esos casos configuras Tomcat para solicitar certificados del lado del cliente , pero solo iniciando sesión en Windows no veo cómo esto funcionaría y qué información pasaría el navegador al servidor, etc. ¿Para esto se utiliza NTLM?