Sails.JS – 重试NTLMvalidation失败?
我目前正在编写一个基于Sails.JS的NodeJS应用程序,而我正在使用ntlm-express进行NTLM身份validation。 当authentication成功时,这种方式非常好,但是在失败的情况下(例如,Firefox用户input错误凭证)ntlm-express返回500错误代码,FireFox将凭据存储在caching中,用户无法login到Web应用程序,因为他没有得到一个新的提示input凭据。 用户login的唯一方法是手动清除FireFox中的authenticationcaching,然后重试。
我想要做的是在ntlm-express无法validation用户的情况下,再次提示他input凭证而不是返回500。
有没有人做过这样的事情,并指出我正确的方向? 我在网上发现了关于这个主题的很less的信息…
对于遇到类似问题的任何人,我设法通过覆盖express-ntlm禁止函数来返回一个401而不是500,并编辑默认的sails unauthorized.js响应来返回“WWW-Authenticate:NTLM”头。 这样,我迫使客户重试NTLM协商,直到他得到正确的…