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をそのような方法で構成することは可能ですか?