2015-11-01 78 views
1

我目前正在編寫一個基於Sails.JS的NodeJS應用程序,並且我正在使用ntlm-express進行NTLM身份驗證。這在驗證成功時非常合適,但在失敗的情況下(例如,Firefox用戶輸入錯誤憑證),ntlm-express會返回500錯誤代碼,FireFox會將憑據存儲在其緩存中,並且用戶無法登錄到Web應用程序,因爲他沒有得到新的提示輸入憑據。用戶登錄的唯一方法是手動清除FireFox中的身份驗證緩存並重試。Sails.JS - 重試NTLM驗證失敗?

我想要做的就是在NTLM快車無法對用戶進行認證的情況下,再次提示他輸入憑據,而不是返回500

有沒有人做過這樣的事情,並能指出我正確的方向?我發現有關此主題的信息很少......

回答

1

對於遇到類似問題的任何人,我設法通過覆蓋express-ntlm禁用函數來返回401而不是500來編譯缺省值啓動unauthorized.js響應也會返回「WWW-Authenticate:NTLM」標題。 這樣我強制客戶重試NTLM協商,直到他得到它的權利...