Saya menerapkan otentikasi SSO menggunakan mod_auth_kerb di Apache. Konfigurasi saya terlihat seperti ini:
<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>
Masalah saya adalah, tanpa require valid-user
, mod_auth_kerb bahkan tidak mencoba untuk mengotentikasi pengguna dan KERBEROS_USER
akhirnya menjadi (null)
. Jika saya menambahkan require valid-user
, pengguna diautentikasi secara otomatis jika browser mendukungnya, tetapi akan ditampilkan formulir masuk modal jelek (ala HTTP Basic Auth) jika browser tidak mendukung Negosiasi Kerberos.
Yang ingin saya capai adalah bahwa jika pengguna mengunjungi /login/
, mod_auth_kerb mencoba untuk mengotentikasi pengguna melalui Negosiasi Kerberos. Jika gagal, formulir masuk HTML normal akan disajikan kepada pengguna.
Apakah mungkin mengkonfigurasi Apache / mod_auth_kerb sedemikian rupa?