使用应用程序池帐户从 MVC 应用程序连接到 WebAPI
Connect from MVC app to WebAPI using app pool account
我敢肯定我之前已经做过十几次了,现在我想不出是什么导致它失败了,但是,我有一个 MVC 网络应用程序及其应用程序池 运行 作为域帐户。它连接到启用了 Windows 身份验证的同一域中的 WebAPI 应用程序。
我希望能够在 WebAPI 端使用 controller.User.Identity.Name
读取 MVC 应用程序池帐户名称,但它返回时是空的。我几乎尝试了所有方法,包括将 MVC 应用明确设置为 "connect as specific user"。
MVC 应用正在使用 HttpClient
连接到 API。我尝试传递 HttpClientHandler
并将 UseDefaultCredentials
设置为 true,但这没有效果。
从我的本地计算机连接到 WebAPI 方法正确识别了我的域帐户。有什么明显的我想念的吗?
已通过添加此处提到的 BackConnectionHostNames
键解决此问题:
虽然我没有必要进行 legacyImpersonationPolicy
和 alwaysFlowImpersonationPolicy
aspnet.config 更改。
我收到的 401 响应让我很反感,让我相信这是一个 IIS 身份验证问题。
我敢肯定我之前已经做过十几次了,现在我想不出是什么导致它失败了,但是,我有一个 MVC 网络应用程序及其应用程序池 运行 作为域帐户。它连接到启用了 Windows 身份验证的同一域中的 WebAPI 应用程序。
我希望能够在 WebAPI 端使用 controller.User.Identity.Name
读取 MVC 应用程序池帐户名称,但它返回时是空的。我几乎尝试了所有方法,包括将 MVC 应用明确设置为 "connect as specific user"。
MVC 应用正在使用 HttpClient
连接到 API。我尝试传递 HttpClientHandler
并将 UseDefaultCredentials
设置为 true,但这没有效果。
从我的本地计算机连接到 WebAPI 方法正确识别了我的域帐户。有什么明显的我想念的吗?
已通过添加此处提到的 BackConnectionHostNames
键解决此问题:
虽然我没有必要进行 legacyImpersonationPolicy
和 alwaysFlowImpersonationPolicy
aspnet.config 更改。
我收到的 401 响应让我很反感,让我相信这是一个 IIS 身份验证问题。