我确定我之前已经做过十几次了,而且我无法想象现在导致这种情况失败的原因是什么,但是,我有一个MVC网络应用程序,其应用程序池作为域帐户运行。它连接到启用了Windows身份验证的同一域上的WebAPI应用程序。
我希望能够在WebAPI端使用controller.User.Identity.Name
读取MVC应用程序池帐户名,但它又回来了。我已经尝试了所有的东西,包括明确地将MVC应用程序设置为“以特定用户身份连接”。
MVC应用使用HttpClient
连接到API。我已经尝试将HttpClientHandler
设置为UseDefaultCredentials
,但这没有效果。
从本地计算机连接到WebAPI方法正确识别我的域帐户。有什么明显的东西我不见了吗?
答案 0 :(得分:0)
通过添加此处提到的BackConnectionHostNames
密钥来修复此问题:
https://stackoverflow.com/a/10311823/2179408
虽然我不需要进行legacyImpersonationPolicy
和alwaysFlowImpersonationPolicy
aspnet.config更改。
我收到的401回复让我失望并让我相信这是一个IIS身份验证问题。