タグ付けされた質問 「windows-security」

7
HttpClientにリクエストと一緒に認証情報を渡す方法は?
Windowsサービスと通信する(IISでホストされている)Webアプリケーションがあります。WindowsサービスはASP.Net MVC Web API(自己ホスト型)を使用しているため、JSONを使用してhttp経由で通信できます。Webアプリケーションは偽装を行うように構成されています。つまり、Webアプリケーションへの要求を行うユーザーは、Webアプリケーションがサービスへの要求を行うために使用するユーザーである必要があります。構造は次のようになります。 (赤で強調表示されているユーザーは、以下の例で参照されているユーザーです。) Webアプリケーションは、HttpClient次を使用してWindowsサービスにリクエストを送信します。 var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }); httpClient.GetStringAsync("http://localhost/some/endpoint/"); これにより、Windowsサービスへの要求が行われますが、資格情報は正しく渡されません(サービスはユーザーをとして報告しますIIS APPPOOL\ASP.NET 4.0)。これは私が起こしたいことではありません。 上記のコードを変更してを使用するWebClientと、ユーザーの認証情報が正しく渡されます。 WebClient c = new WebClient { UseDefaultCredentials = true }; c.DownloadStringAsync(new Uri("http://localhost/some/endpoint/")); 上記のコードでは、サービスはユーザーをWebアプリケーションにリクエストを行ったユーザーとして報告します。 HttpClient資格情報を正しく渡さない原因となっている実装で何が問題になっていますか(またはのバグHttpClientですか?) を使用したいのHttpClientは、Tasksでうまく機能する非同期APIがあるのに対して、WebClient's asyc APIはイベントで処理する必要があるからです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.