【问题标题】:NTLM authentication with HttpWebRequest works in .net 4.0 but not 3.5使用 HttpWebRequest 的 NTLM 身份验证适用于 .net 4.0,但不适用于 3.5
【发布时间】:2011-10-09 10:03:31
【问题描述】:

我编写了一些代码来使用 HttpWebRequest 执行 NTLM 身份验证。如果我将 winform 应用程序的目标框架设置为 4.0,那么它可以工作。

但是,如果我将其设置为 3.5,则它不会(它返回 401 未经授权的错误)。前两个连接已正确发送和接收,但在收到第二个响应时。客户没有提出第三个请求,它只是说未经授权。

我的代码是:

request = (HttpWebRequest)WebRequest.Create(authenticatedOpenAssetRssUrl);
            request.Credentials = new NetworkCredential(Environment.UserName, null);
            request.UserAgent = Constant.XML_FEED_USER_AGENT;
            request.UnsafeAuthenticatedConnectionSharing = true;

这是在 Windows 7 x64 位上运行的。

【问题讨论】:

  • 你有没有想过这个问题的答案?我遇到了同样的问题,似乎无法弄清楚为什么它在 .Net 3.5 中不起作用。
  • 不怕。似乎也没有其他人知道答案。

标签: winforms .net-3.5 .net-4.0 httpwebrequest ntlm


【解决方案1】:

我有同样的问题。 我能够通过更改突出显示的本地组策略来解决它们 您需要做的就是右键单击该策略并单击属性,您需要取消选中使用 128 位 ssl Screenshot of the settings in local group policy

【讨论】:

    【解决方案2】:

    检查WindowsNetwork security 的安全性:基于 NTLM SSP(包括安全 RPC)客户端的最低会话安全性。取消选中Require 128-bit encryption 并重新测试。

    【讨论】:

      猜你喜欢
      • 2017-10-29
      • 1970-01-01
      • 2016-11-11
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多