Sails.JS - 重试NTLM Auth失败?

时间:2015-11-01 13:15:02

标签: javascript node.js express sails.js ntlm

我目前正在编写基于Sails.JS的NodeJS应用程序,我正在使用ntlm-express进行NTLM身份验证。这在身份验证成功时非常正常,但在失败的情况下(例如,Firefox用户输入错误的凭据)ntlm-express返回500错误代码,FireFox将凭据存储在其缓存中,并且用户无法登录到Web应用程序,因为他没有得到输入凭据的新提示。用户登录的唯一方法是在FireFox中手动清除身份验证缓存,然后重试。

我想做的是在ntlm-express无法验证用户身份,再次提示他获取凭据而不是返回500的情况下。

有没有人这样做过,可以指出我正确的方向?我在网上找到关于这个主题的信息很少......

1 个答案:

答案 0 :(得分:1)

对于遇到类似问题的任何人,我设法通过覆盖express-ntlm禁止函数来返回401而不是500来解决它并编辑默认的Sails unauthorized.js响应也返回“WWW-Authenticate” :NTLM“标题。 这样我就迫使客户重试NTLM协商,直到他做对了......