1
私は2つのアプリケーションを持っています。 WebAPIにサービスアカウントとしてリクエストを送信
- はどちら
- 両方が私が持つ他に1つのアプリから取得するのHttpClientを使用しようとしている
窓認証を必要とし、同じサービスアカウントとして実行されている同じサーバー上の両方
単純な投稿要求。しかし、アイデンティティは使用されていないようです。私はこのようなルックスを使用しています何:
var testIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
var handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
using (var client = new HttpClient(handler))
{
//...
HttpResponseMessage respose = client.PostAsJsonAsync("api/controller/Method", request);
response.EnsureSuccessStatusCode(); // Exception here!
//...
}
私はtestIdentity
を検証してきましたが、私のように実行していることがしたいサービスアカウントですが、それを作るようには見えません。私はいつも401応答を返す。
ローカル(ただし同じドメイン)とWebAPIをサーバー上で送信するアプリケーションをテストしましたが、どちらも機能しません(同じ401応答)。
私は両方のアプリケーションがローカルの場合、期待どおりに動作します。
何が不足している可能性がありますか?
私はこの種のユースケースでSPNがセットアップされる方法に問題があることを見てきました。下のリンクを確認してください.http://stackoverflow.com/questions/14928350/how-can-i-fix-the-kerberos-ダブルホップ問題 – Prashant
ええ、私はこの問題があるかもしれないと思っていましたが、両方のアプリケーションで同じドメインユーザーであれば、実際にはまだ適用されますか? – Charles
これは、あるサーバーから別のサーバーにWindows資格情報を渡す必要がある場合に発生します。同じドメインとは何も関係ありません。 – Prashant