2012-04-02 8 views
6

私は両方のエンドポイント上で、以下のものを使用してWCFサービスに接続しているクライアントを持っています。エラーが

ます。http://ホスト/サービス」とSOAPのセキュリティネゴシエーション:ターゲット のための「ます。http://ホスト/サービスは、」失敗した私は、テスト環境にプッシュするとき、私は、次のメッセージが表示されます。詳細については、内部例外を参照してください。

内部例外:

System.ComponentModel.Win32Exception:セキュリティサポートプロバイダ インターフェイス(SSPI)認証に失敗しました。サーバーはID「ホスト/サーバー名。ドメイン」のアカウントで を実行していない可能性があります。 サーバーがサービスアカウント(ネットワークサービスなど)で実行されている場合、 は、サーバーの EndpointAddressのIDとしてアカウントのServicePrincipalNameを指定します。サーバーがユーザー アカウントで実行されている場合は、アカウントのUserPrincipalNameをIDとして のサーバーのEndpointAddressに指定します。

ランダムに属性を変更して一般的に迷惑をかけると、サービスとしてのアプリケーションプールを変更してLocalSystemをIDとして使用する唯一の方法がありました。これにより、その後、システム管理者に子猫が飼われ、私がやり続けることはできません。

なぜこのようなことが起こっているのですか?クライアントのWindowsアカウントとAppPoolのIDは同じドメインにあります。サービスは同じドメインのサーバー上で実行されています。

答えて

2

認証がLocalSystemでは動作しますが、ドメインアカウントでは動作しない場合は、ドメインアカウント用のSPNが存在しない可能性があります。このページでは、サービスが実行されているアイデンティティを設定するための背景について説明します。http://msdn.microsoft.com/en-us/library/bb628618.aspx

+0

マシンがテンプレート(つまりクローン)からVMとして設定されているとしますか? –

+0

私はクローンマシンがこれに影響を与えるかどうかはわかりません。 Kerberosを使用するAFAIKには、有効なSPN/UPNが必要です。 –