gpt4 book ai didi

asp.net-mvc-4 - 是否需要委派才能在 SAME 服务器上的应用程序之间传递凭据?

转载 作者:行者123 更新时间:2023-12-04 05:00:48 25 4
gpt4 key购买 nike

我在 上有一个 Web API 应用程序和一个 MVC4 客户端应用程序。相同网络服务器。它们都针对 Windows 身份验证进行了配置。客户端应用程序已启用模拟。

当我在 Visual Studio 中运行客户端时,它成功地将我的 Windows 凭据传递给 Web API。

当我在 Web 服务器上点击客户端时,Web API 收到“NT AUTHORITY\NETWORK SERVICE”,我猜它来自运行客户端应用程序的应用程序池。

客户端传递凭据如下:

HttpClientHandler handler = new HttpClientHandler()
{
PreAuthenticate = true,
UseDefaultCredentials = true
};
HttpClient client = new HttpClient(handler);

所以我的问题是……我需要在这里授权吗?

在 Active Directory 中没有为此配置 Web 服务器 - 但我认为由于应用程序位于同一服务器上,因此模拟就足够了。我会打开委托(delegate),但我需要一个系统管理员来做到这一点 - 并且有各种各样的箍要跳过 - 所以想确保这就是我需要的。

最佳答案

好的,简而言之,不需要授权。

原来是冒充问题。从我读过的内容来看,这听起来像是应该需要的,因为应用程序位于同一台服务器上,但即使我认为我已经正确配置了它,我还是错过了一个关键部分。我需要更改 aspnet.config 中的两个设置:

<legacyImpersonationPolicy enabled="false"/>
<alwaysFlowImpersonationPolicy enabled="true"/>

更多细节在这里:
https://stackoverflow.com/a/10311823/1230905

关于asp.net-mvc-4 - 是否需要委派才能在 SAME 服务器上的应用程序之间传递凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com