Ho implementato un'autenticazione SSO usando mod_auth_kerb su Apache. La mia configurazione è simile a questa:
<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>
Il mio problema è che, senza require valid-user
, mod_auth_kerb non prova nemmeno ad autenticare l'utente e KERBEROS_USER
finisce per essere (null)
. Se aggiungo require valid-user
, l'utente viene autenticato automaticamente se il browser lo supporta, ma viene mostrato un brutto modulo di accesso modale (ala HTTP Basic Auth) se il browser non supporta Kerberos Negotiate.
Quello che voglio ottenere è che se un utente visita /login/
, mod_auth_kerb tenta di autenticare l'utente tramite Kerberos Negotiate. In caso contrario, verrà presentato all'utente un normale modulo di accesso HTML.
È possibile configurare Apache / mod_auth_kerb in questo modo?