NTLM身份验证失败,'www-authenticate':'协商,NTLM'

时间:2014-11-13 03:39:04

标签: authentication meteor ntlm

我正在编写Meteor.JS应用程序,需要使用NTLM服务器进行身份验证。我想我大部分都在那里;我的工作流程目前如下:

  1. 将GET请求发送到具有NTLM类型1消息的服务器' www-authenticate'头,
  2. 在&www; www-authenticate'下使用NTLM类型2消息接收(401)响应。标题(看起来像' www-authenticate':' NTLM TlRMTVN ....'),
  3. 将GET请求发送到具有NTLM类型3消息的服务器' www-authenticate'头,
  4. 通过标题' www-authenticate':' Negotiate,NTLM'接收(401)回复。
  5. 这是我困惑的地方;在第4步,我希望根据我读过的所有内容获得200 OK状态。但是,我接受了“谈判”,“NTLM”和“在www-authenticate标题中,我不知道该怎么做。还有其他人在NTLM遇到过这种情况吗?我在这里是正确的轨道,还是这个指示性的东西是完全错误的?

    修改 在有人问之前,是的,我确实看到this question,但在我的情况下,我已经验证了凭据是否正确。我想知道究竟是什么触发了“谈判,NTLM'报头中。

1 个答案:

答案 0 :(得分:0)

您是否正在与IIS服务器通信?当Kerberos和NTLM都可能并且服务器希望告诉客户端时,服务器会将“Negotiate NTLM”标头发送给客户端。如果您使用的是IIS服务器,则可以尝试将Windows身份验证类型更改为仅限NTLM。

或者,您可以在IIS上启用“请求跟踪”模块,并查看正在传输的请求。日志通常有足够的数据来理解问题。

希望这有帮助。