2013-06-28 56 views
4

我想寫一個支持NTLMv2身份驗證的node.js http服務器。如何檢查NTLM type3消息? (node.js)

Evertything與handshak(type1,type2,type3消息)正常工作,並從客戶端(Chrome瀏覽器)獲取我的type3消息。在發送到服務器的這條消息中,有一個ntlmv2響應,我可以在我的node.js服務器中讀取它。如果此響應有效,我如何進行身份驗證?

根據[1]我已經理解了type3消息,並且我能夠創建自己的node.js-routine來生成這些散列。所以當我有密碼時,我可以創建一個與我從瀏覽器中獲得的相同的散列。但是如何在不知道密碼的情況下認證這個散列/響應呢?我如何對我的網絡中的DomainController/ActiveDirectory進行身份驗證?

如果你看看[2],有一張圖片能夠完美地描述我的問題。我怎樣才能執行這張圖片的步驟「4」和「5」?

感謝, Laryllan

[1] http://davenport.sourceforge.net/ntlm.html#theType3Message

[2] http://msdn.microsoft.com/en-us/library/cc239685.aspx

+0

可能重複的[Node.js NTLM HTTP身份驗證,如何處理這3種類型](http://stackoverflow.com/questions/5541099/node-js-ntlm-http-authentication-how-to-handle -THE-所述-3-類型) –

回答

0

爲了有效NTLMv2的憑據,您將需要執行SecureChannel加密的RPC與Active Directory域控制器的NETLOGON服務。也就是說,這是一件很難做的事情。如果您的服務器支持Java Servlet過濾器,則有Jespa

否則,有些模塊可以在Web服務器級別進行身份驗證,如Apache模塊或在IIS中啓用IWA。但是,這些類型的解決方案當然在很多方面受到一定限制。