Ich habe eine SSO-Authentifizierung mit mod_auth_kerb auf Apache implementiert . Meine Konfiguration sieht folgendermaßen aus:
<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>
Mein Problem ist, dass require valid-user
mod_auth_kerb ohne nicht einmal versucht, den Benutzer zu authentifizieren, und KERBEROS_USER
am Ende ist (null)
. Wenn ich hinzufüge require valid-user
, wird der Benutzer automatisch authentifiziert, wenn der Browser dies unterstützt, aber es wird ein hässliches modales Anmeldeformular (ala HTTP Basic Auth) angezeigt, wenn der Browser Kerberos Negotiate nicht unterstützt.
Was ich erreichen möchte, ist, dass /login/
mod_auth_kerb bei einem Besuch eines Benutzers versucht, den Benutzer über Kerberos Negotiate zu authentifizieren. Wenn dies fehlschlägt, wird dem Benutzer ein normales HTML-Anmeldeformular angezeigt.
Ist es möglich, Apache / mod_auth_kerb so zu konfigurieren?