2016-07-18 11 views
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応答)。

私は両方のアプリケーションがローカルの場合、期待どおりに動作します。

何が不足している可能性がありますか?

+0

私はこの種のユースケースでSPNがセットアップされる方法に問題があることを見てきました。下のリンクを確認してください.http://stackoverflow.com/questions/14928350/how-can-i-fix-the-kerberos-ダブルホップ問題 – Prashant

+0

ええ、私はこの問題があるかもしれないと思っていましたが、両方のアプリケーションで同じドメインユーザーであれば、実際にはまだ適用されますか? – Charles

+0

これは、あるサーバーから別のサーバーにWindows資格情報を渡す必要がある場合に発生します。同じドメインとは何も関係ありません。 – Prashant

答えて

0

私は根本的な原因はまだ分かっていないので、答えとしてこれを受け入れることを躊躇しないでください。しかし、私が遭遇した問題は、別のドメインのアカウントに偽装することで修正されました。

関連する問題