2016-08-04 28 views
0

http://spnego.sourceforge.net/spnego_tomcat.html(SPNEGOサンプルテストコードHelloKDC.javaが期待通りに機能しています)に記載されているすべての手順に従いましたが、シングルサインオンが機能しません。SPNEGO KerberosシングルサインオンがtomcatサーバーのADドメインで機能しない

私たちのドメイン名はITLAB(Active Directoryドメイン)で、2台のマシン "Win8Serv"と "Win8Client"を持っています。

Tomcat7は、 "KerbServUser @ ITLAB"資格情報を持つ "Win8Serv"マシンで実行されています。今度は "KerbServUser @ ITLAB"の資格情報を使って "Win8Client"にログインしました。私はIEブラウザ(IEの場合はSSOオプションを有効にし、統合Windows認証を有効にする)では "http://Win8Serv.itlab.com:8181/hello_spnego.jsp"と入力しました。ログインウィンドウ()には資格情報を要求しないでください。

デバッグSPNEGOコード、それはSpnegoAuthenticator.java

final SpnegoAuthScheme scheme = SpnegoProvider.negotiate(req, resp, basicSupported, this.promptIfNtlm, serverRealm); 

if (scheme.isNegotiateScheme()) { 
    principal = doSpnegoAuth(scheme, resp); 

// BASIC scheme 
} else if (scheme.isBasicScheme()) { // it is entering Basic Scheme 
    principal = doBasicAuth(scheme, resp); 
} 

に基本認証に

を使用しているあなたは、この問題を解決するための提案を持っていますか?

追加情報が必要な場合はお知らせください。

+0

サーバー用にSPNを登録しましたか? –

答えて

1

SPN HTTP/win8serv.itlab.comをADユーザーアカウント[email protected]に登録する必要があります。クライアントマシンは、TomcatサーバーとなるDNSにFQDNを配置し、次に、Tomcatによって実行されているHTTPサービス用のKerberosサービスチケットを取得するために、KDCでHTTPサービスポイントを特定する必要があります(ADドメインコントローラーで実行されます)。 SPNのFQDNがDNSのFQDNと一致すると、クライアントマシンはKerthikeyanが走っていた場所である必要がある場所を正しく認識します。

お使いのWebブラウザは、Windowsがそれを求めるのウェブサーバに(この場合にはKerberosサービスチケットを)資格情報を送信しますと、それに記載されているサイトhttp://win8serv.itlab.comは、「ローカルイントラネット」ゾーンの持っている必要があります(Tomcatが行う必要があるました)を使用して認証します。

関連する問題