当前,我们在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:这通常是主机名解析期间的一个临时错误,表示本地服务器未收到来自权威服务器的响应。
没有模拟,代码可以正常工作。有什么建议吗?