【问题标题】:NTLM Authentication Failed, the server finally response "401", but not "200 OK"NTLM Authentication Failed,服务器最终响应“401”,但没有“200 OK”
【发布时间】:2014-07-12 07:44:52
【问题描述】:

我正在使用 Node.js 通过 NTLM 身份验证连接到服务器。如下 NTLM 协议步骤(参考:http://www.innovation.ch/personal/ronald/ntlm.html)。

1: C  --> S   GET ...

2: C <--  S   401 Unauthorized
              WWW-Authenticate: NTLM

3: C  --> S   GET ...
              Authorization: NTLM <base64-encoded type-1-message>

4: C <--  S   401 Unauthorized
              WWW-Authenticate: NTLM <base64-encoded type-2-message>

5: C  --> S   GET ...
              Authorization: NTLM <base64-encoded type-3-message>

6: C <--  S   200 Ok

第 1-5 步工作正常,但在第 6 步中,服务器没有返回 200 OK,而是返回了状态码 401 和标题:

头部:{

   'content-type': 'text/html',
   server: 'Microsoft-IIS/8.0',
   'www-authenticate': 'Negotiate, NTLM',
   'x-powered-by': 'ASP.NET',
   date: 'Sat, 12 Jul 2014 06:44:25 GMT',
   'content-length': '1293' 

}

有什么问题吗?你可以帮帮我吗?为什么它不返回 200 OK 和正确的响应正文?非常感谢

【问题讨论】:

  • 你能给我们提供1293字节的内容吗?
  • 嗨,阿里雷萨。这是html 401页面。正文内容为:w3.org/1999/xhtml">...<title>401 - 未经授权:由于凭据无效,访问被拒绝。...

标签: ntlm


【解决方案1】:

全部。

我终于找到了答案。我使用这个 ntlm 模块(https://www.npmjs.org/package/ntlm)来进行 ntlm 身份验证。它不起作用,因为我使用了错误的用户名。我从调试日志中找到它,您还可以在 adfs 机器的事件视图中找到此信息(它将有错误信息)。我为这个愚蠢的错误感到抱歉,但现在我对 ntlm 很了解。谢谢阿里雷萨。谢谢大家:-)

【讨论】:

  • 感谢模块链接!您在哪个调试日志中找到了这个?我遇到了与您完全相同的情况,但可以肯定我的凭据是正确的(当我通过浏览器访问站点时它们可以工作,但请求失败),并且除了 401 错误之外没有看到任何输出。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 2021-02-05
  • 1970-01-01
相关资源
最近更新 更多