gpt4 book ai didi

c# - 带有 NTLM 身份验证的 HttpWebRequest 401

转载 作者:行者123 更新时间:2023-11-30 18:01:18 25 4
gpt4 key购买 nike

我在向网络服务器验证 HttpWebRequest 时遇到困难。我收到的响应只是一个 401。我已确保在 C# 端正确设置了凭据,并且 IIS 已正确设置为允许 NTLM 身份验证。我不知道这是否重要,但他的计算机与 Web 服务器不在同一个域中。

我确定用户/密码是正确的,但是否需要在用户上配置任何其他授权设置?

如果我启用基本身份验证并禁用 Windows 身份验证,请求将完美运行(当然需要更改正确的 C# 代码)。

我错过了什么?

    webRequest.UseDefaultCredentials = false;
webRequest.PreAuthenticate = true;
var c = new NetworkCredential("User", "password", "domain");

CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(new Uri(Url), "NTLM", c);
webRequest.Credentials = credentialCache;

这是我在 IIS 中的设置的快照。

IIS Authentication Configuration

失败的请求跟踪:

Tracing Error Log

最佳答案

在一位同事的帮助下,我们能够确定 Windows 处理身份验证的方式存在问题。看起来本地安全中的设置是错误的。将本地策略 > 安全选项 > 网络访问:本地帐户的共享和安全模型从仅限访客 - 本地用户以访客身份验证为经典解决了这个问题。

enter image description here

关于c# - 带有 NTLM 身份验证的 HttpWebRequest 401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263561/

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