Implementé una autenticación SSO usando mod_auth_kerb en Apache. Mi configuración se ve así:
<Location /login/ >
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbAuthoritative on
KrbVerifyKDC on
KrbAuthRealm D.ETHZ.CH
Krb5Keytab /etc/HTTP.keytab
KrbSaveCredentials on
RequestHeader set KERBEROS_USER %{REMOTE_USER}s
</Location>
Mi problema es que, sin require valid-user
mod_auth_kerb, ni siquiera intenta autenticar al usuario y KERBEROS_USER
termina siendo (null)
. Si agrego require valid-user
, el usuario se autentica automáticamente si el navegador lo admite, pero se muestra un formulario de inicio de sesión modal feo (ala autenticación básica HTTP) si el navegador no es compatible con Kerberos Negotiate.
Lo que quiero lograr es que si un usuario visita /login/
, mod_auth_kerb intenta autenticar al usuario a través de Kerberos Negotiate. Si eso falla, se presentará un formulario de inicio de sesión HTML normal al usuario.
¿Es posible configurar Apache / mod_auth_kerb de tal manera?