Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sails.JS-NTLM身份验证失败时重试?_Javascript_Node.js_Express_Sails.js_Ntlm - Fatal编程技术网

Javascript Sails.JS-NTLM身份验证失败时重试?

Javascript Sails.JS-NTLM身份验证失败时重试?,javascript,node.js,express,sails.js,ntlm,Javascript,Node.js,Express,Sails.js,Ntlm,我目前正在编写一个基于Sails.JS的NodeJS应用程序,并使用ntlmexpress进行ntlm身份验证。当身份验证成功时,这种方法非常有效,但当身份验证失败时(例如,Firefox用户输入错误的凭据),ntlm express返回500错误代码,Firefox将凭据存储在其缓存中,用户根本无法登录web应用,因为他没有收到输入凭据的新提示。用户登录的唯一方法是手动清除FireFox中的身份验证缓存,然后重试 我想做的是在ntlm express无法验证用户身份的情况下,再次提示用户输入凭

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

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


有没有人做过这样的事,能给我指出正确的方向?我在网上几乎找不到有关此主题的信息…

对于遇到类似问题的任何人,我成功地解决了这个问题,方法是覆盖express ntlm forbidden函数以返回401而不是500,并编辑默认的Sails unauthorized.js响应以同时返回“WWW Authenticate:ntlm”头。 这样,我就迫使客户重新尝试NTLM协商,直到他做对为止