Apacheでmod_auth_kerbを使用してSSO認証を実装しました。私の設定は次のようになります:
<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>
私の問題は、なしrequire valid-user
ではmod_auth_kerbがユーザーを認証しようとさえせず、最終的にはであるというKERBEROS_USER
こと(null)
です。を追加するrequire valid-user
と、ブラウザがサポートしている場合、ユーザーは自動的に認証されますが、ブラウザがKerberosネゴシエートをサポートしていない場合は、lyいモーダルログインフォーム(HTTP基本認証)が表示されます。
私が達成したいのは、ユーザーが/login/
にアクセスすると、mod_auth_kerbがKerberos Negotiateを介してユーザーを認証しようとすることです。それが失敗した場合、通常のHTMLログインフォームがユーザーに表示されます。
Apache / mod_auth_kerbをそのような方法で構成することは可能ですか?