J'ai implémenté une authentification SSO en utilisant mod_auth_kerb sur Apache. Ma configuration ressemble à ceci:
<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>
Mon problème est que, sans require valid-user
, mod_auth_kerb n'essaye même pas d'authentifier l'utilisateur et KERBEROS_USER
finit par l'être (null)
. Si j'ajoute require valid-user
, l'utilisateur est authentifié automatiquement si le navigateur le prend en charge, mais affiche un formulaire de connexion modal laid (ala HTTP Basic Auth) si le navigateur ne prend pas en charge Kerberos Negotiate.
Ce que je veux réaliser, c'est que si un utilisateur visite /login/
, mod_auth_kerb essaie d'authentifier l'utilisateur via Kerberos Negotiate. Si cela échoue, un formulaire de connexion HTML normal sera présenté à l'utilisateur.
Est-il possible de configurer Apache / mod_auth_kerb de cette manière?