0

私は次の設定をしています:

  1. WPFクライアントはWCFSerivceAを呼び出します。ここでは、基本HTTPバインディングを使用したWindows認証があります。

  2. SerivceAは、1つのUNCパスから1つのバッチファイル(.batまたは.exeファイルと言うことができます)を呼び出します。これは機能します。バッチ、つまりその中で呼び出されたexeが実行されます。

  3. 実行されたexeはServiceBを呼び出します。ここでは失敗します。エラーは次のとおりです。HTTP要求は、クライアント認証スキーム「ネゴシエート」で許可されていません。サーバーから受信した認証ヘッダーは「ネゴシエート」でした。

これは、実行されたexeファイルがADユーザーアカウントを渡すことができないようです。次のように渡されます。ADユーザーではないIISAPPPOOL\ user1であるため、失敗します。

これを解決するために、ServiceAで偽装を試みたので、呼び出し元の資格情報の下でバッチファイルを呼び出すことができます。しかし、運はありません。委任も試しました。

ここでの問題は何ですか?

4

2 に答える 2

0

どのIPrincipalから委任または偽装を行ったかを説明しませんでしたが、サーバーが正しく構成されている場合にのみ委任を使用できます。そうでない場合は、要求を実行した最も特権の低いアカウントのみが受け入れられます。

于 2012-11-23T13:21:35.153 に答える
0

最終的にIIS用の特定のユーザーを作成し、それをアプリケーションプールに登録しました。そのため、デフォルトでは、このような操作はこのユーザーのIDで実行され、すべてが正常に機能します。

于 2012-11-28T10:26:47.463 に答える