0

Windows認証で保護されたIIS8でホストされているMVC 5 Webアプリケーションがあります。アプリケーションにはWebApi2コントローラがありますが、これはMVCコントローラ経由でサーバー側から呼び出していますが、呼び出しを行うときには401 Unauthorized(POST動詞)が続きます。サーバ側webapiコールでWindows認証に失敗する

var client = new HttpClient(); 
var response = client.PostAsJsonAsync(url, dto).Result; 

物事は私がいない成功を収めて試してみました:

  • は、アカウントの資格情報を使用してASP.NETの偽装を有効にするカスタムアカウント

  • にアプリケーションプールのユーザーIDを設定する

  • ドメインをホワイトリストに登録するためにレジストリを編集する(このソリューションの通りUnable to get windows authentication to work through local IIS

他に誰かが提案している/この問題を以前見たことがありますか?

+0

どのように発信していますか? httpを使用して別のコントローラー・メソッドを呼び出す場合は、許可ヘッダーを送信する必要があります。 – Amy

+0

私はapiエンドポイントを呼び出すために使用しているコードで質問を更新しました –

+1

はい、それはHTTP呼び出しです。 ASP.Netセキュリティー・コンテキストはHTTPを介して変換されないため、適切な許可ヘッダーを追加する必要があります。 – Amy

答えて

0

このソリューションは、私のHttpClientをインスタンス化するときに役立ちました。

  var clientHandler = new HttpClientHandler() 
      { 
       Credentials = CredentialCache.DefaultNetworkCredentials 
      }; 
      var client = new HttpClient(clientHandler); 
関連する問題