2

spnego http://spnego.sourceforge.netを使用してシステムでシングル サインオンを行っています。問題は、正しいパスワードを入力しても何度もプロンプトが表示されることです。

2 回入力するとシステムに参加できる場合もあれば、システムにアクセスできるようになるまで、同じユーザーとパスワードを 10 回以上入力する必要がある場合もあります。

システムにログインした後、ランダムな時間に何度も何度もパスワードを要求されることがあります。

前もって感謝します

4

2 に答える 2

3

その特定の spnego モジュールはまだ試していませんが、以前にこの問題に遭遇したことがあります。

SPNEGO と2 つのログイン プロンプトの問題は、多くの場合、次のことに関連しています。

  1. アプリケーションのログイン サービスは、ネゴシエートと基本の両方を許可するように構成されています。

    WWW-Authenticate: Negotiate
    WWW-Authenticate: basic
    
  2. Windows ネイティブ認証が Internet Explorer で有効になっているが、Windows クライアントが (何らかの理由で) サービスの Kerberos チケットの取得に失敗した場合、IE は

    • ログインを求められますが、ここに何を書いても、Authorization: Negotiate を使用して NTMLSSP トークンが送信されます

    • NTMLSSP トークンを使用した認証は失敗し、Basic Authorization: Basic を使用して送信される 2 番目のログイン プロンプトが表示されます。

ただし、2回以上認証すると時々入ることができる理由はわかりません..

問題をさらに調査するには:

  • サーバー ログ ファイルをチェックして (Java オプション -Dsun.security.krb5.debug=true および web.xml spnego.logger.level=1 を設定)、手がかりを探します。
  • Windows クライアントがドメインにログオンしていることを確認します。
  • Internet Explorer で Windows ネイティブ認証が有効になっていることを確認します。
  • Web サイトが Internet Explorer のローカル イントラネット サイトに追加されていること (または、Web サイト名にドット "." を使用せずに利用できること) を確認します。
  • キータブ、krb5.conf、および login.conf がアプリ サーバー用に構成されていることを確認します。(spnego ドキュメント pre_flight および reference_docs を参照)
  • キータブで使用されているプリンシパル名が DNS A レコードであり、サービスの DNS CNAME レコードではないことを確認してください。
  • Web トラフィックをデバッグするための優れたツールは Fiddler2 です。インストールして、認証チャレンジ (HTTP 401) に応答する Internet Explorer を確認します。
  • Internet Explorer が実際に NTMLSSP トークンを送信する場合は、Wireshark を使用して "Kerberos" トラフィックをフィルター処理し、サービスにアクセスするための Kerberos チケットを含む TGS-REP でドメイン コントローラーが応答するかどうかを確認することもできます。

それでもうまくいかない場合は、

  • spnego 構成
  • サーバーログ (関連するものがある場合)
  • Fiddler2 トレース
  • Wireshark トレース

オイヴィンド

于 2013-12-03T21:29:00.970 に答える