2

開発中のイントラネット アプリケーションに SSO を実装しようとしています。これにはSPNEGOを使用しています。現在、SSO の構成で問題が発生しています。誰かが助けてくれることを願っています。

セットアップは次のようになります。

  1. イントラネット アプリケーションを提供する tomcat を備えた Linux サーバー
  2. ドメイン コントローラとしての Windows Server 2008 (Active Directory)
  3. IE9 および Firefox を使用する Windows 7 クライアント

イントラネット アプリケーションを開くと、クライアントから tomcat サーバーへの GET 要求が表示されます。Tomcat サーバーと SpnegoFilter の最初の応答は 401 無許可です。これは正しく、クライアントを認証する必要があるためです。

806 6.117724    192.168.65.50   192.168.65.50   HTTP    284 HTTP/1.1 401 Unauthorized 
WWW-Authenticate: Negotiate\r\n

クライアントの応答は、フラグ NTLMSSP_NEGOTIATE を含む GET 要求です。ここで壊れます。NTLM 応答は期待していませんが、kerberos/spnego 応答を期待しています。どういうわけか、Tomcat サーバーに正しい応答を送信する方法がわかりません。

808 6.123277    192.168.65.50   192.168.65.50   HTTP    637 GET / HTTP/1.1 , NTLMSSP_NEGOTIATE

デフォルトでは NTLM は SPNEGO でサポートされていないため、ログに次のエントリが記録されます。

java.lang.UnsupportedOperationException: NTLM が指定されました。Basic 認証 (および/または SSL) にダウングレードされましたが、ダウングレードはサポートされていません。

だから私は何か間違ったことをしていますが、構成とポリシーをいじって一日を過ごした後、それが何であるかを理解できません。

何らかの反応を期待します。

4

2 に答える 2

1

SPN を登録し、クライアント ドメインに参加していますか? WWW-Authenticate: Negotiate は、Web ブラウザーに kerberos を試すように指示します。ブラウザーは、アドレス バーの URL に基づいて、その要求を OS (SSPI) に渡します。URL の AD には SPN が必要です。他の人が上で述べたように、URL で IP を使用するのはより複雑ですが、実行できます。クライアントがドメインに参加していない場合は、AD KDC に接続するための追加の構成作業があります。Firefox も追加のセットアップが必要です。IE で問題を解決し、問題が解決したら FF に戻ります。

于 2016-11-20T17:57:58.920 に答える
1

Kerberos は IP では機能しません。完全修飾ドメイン名を使用してください。

于 2012-12-18T21:34:24.647 に答える