使用httpclient时RunImpersonated无法与.net Core 2.1一起使用

时间:2018-12-14 18:26:07

标签: .net asp.net-core httpclient impersonation

当前,我们在IIS中托管一个.net core 2.1 webapp,它使用Windows身份验证。当我们调用另一个webapi时,我们想模拟呼叫者的凭据,这是我们的代码

   WindowsIdentity identity = (WindowsIdentity)HttpContext.User.Identity;
   WindowsIdentity.RunImpersonated(identity.AccessToken, () =>
   {
       using (var client = new System.Net.Http.HttpClient(new HttpClientHandler() { Credentials = CredentialCache.DefaultCredentials }))
        {
           // here is the code we are having issue
           var response = client.GetAsync("http://www.google.com").Result;
         }
   });

错误消息如下:

HttpRequestException:这通常是主机名解析期间的一个临时错误,表示本地服务器未收到来自权威服务器的响应。

没有模拟,代码可以正常工作。有什么建议吗?

0 个答案:

没有答案