ドメイン上ではなく、サーバーAで1つのAPIを実行しようとしているので、ドメイン上の別のAPI Bを呼び出してください。 Im impersionationを使って電話をしています。 B上のAPIはWindowsの認証下にあります。偽装を使用してWeb APIを呼び出す
偽装をテストするために、私は(ドメイン上ではなく)Aから実行するための小さなWindowsユーティリティを構築しました。これは動作します。私は同じコードを実行しますが、A上のIISでホストされているウェブAPI内で、何もB.
にIISサーバAで実行されているAPIを通ってくるように思われなかったときに偽装が、しかしlogontype 9 https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
を使用していますは、アプリプールIDを使用してアプリプール内で実行されています。しかし、実際にBのAPIにリクエストするコードは、偽装を使用しています。
AのアプリケーションプールIDがBの呼び出しを妨害することはありますか?
[mcve]さんが回答を得ているか、少なくともコードを投稿している可能性があります。 –
あなたはそれを試してみませんか?プロセスプールのIDを、プロセスのテストに使用したIDに変更して、動作しているかどうかを確認します。昔は、偽装の前にベースプロセストークンに戻るためにRevertToSelfをする必要がありますが、これ以上の効果はないと思います。 – Mike