带有Windows身份验证的HttpRequestMessage

时间:2016-06-22 19:20:28

标签: asp.net-core windows-authentication

我尝试在启用了Windows身份验证的ASP.Net Core应用上进行一些集成测试。对于具有[Authorize]属性的控制器方法,我需要通过请求中的当前窗口标识发送。

有很多关于如何使用旧的HttpWebRequest方法执行此操作的信息,但我找不到有关通过HttpRequestMessage执行此操作的信息。据推测,我必须编码并通过身份验证标头中的当前用户发送?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

Asp.Net Core不会为您进行模拟。您需要调用WindowsIdentity.Impersonate(https://msdn.microsoft.com/en-us/library/w070t6ka(v=vs.110).aspx)将给定的标识应用于当前线程。然后使用UseDefaultCredentials设置HttpClient:How to get HttpClient to pass credentials along with the request?