4

我想用 node.js 编写一个支持 NTLMv2 身份验证的 http 服务器。

Evertything 适用于握手(type1、type2、type3 消息),我从客户端(Chrome 浏览器)获得我的 type3 消息。在发送到服务器的这条消息中,有一个 ntlmv2 响应,我可以在我的 node.js 服务器中读取它。如果此响应有效,我如何进行身份验证?

根据 [1],我已经理解了 type3 消息,并且能够创建自己的 node.js-routine 来生成这些哈希值。因此,当我拥有密码时,我可以创建一个与从浏览器获得的哈希值相同的哈希值。但是如何在不知道密码的情况下验证此哈希/响应?如何针对我网络中的 DomainController/ActiveDirectory 对此进行身份验证?

如果你看过[2],有一张图片可以完美地描述我的问题。如何执行这张图片的步骤“4”和“5”?

谢谢,拉里兰

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

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

4

2 回答 2

0

要使 NTLMv2 凭据有效,您需要使用 Active Directory 域控制器的 NETLOGON 服务执行 SecureChannel 加密 RPC。也就是说,这是一件很难做到的事情。如果您的服务器支持 Java Servlet 过滤器,则有Jespa

否则,有些模块可以在网络服务器级别进行身份验证,例如 Apache 模块或通过在 IIS 中打开 IWA。但当然,这些类型的解决方案在许多方面都受到一定的限制。

于 2014-09-12T02:17:33.643 回答
0

快速的网络搜索确认每个人似乎都卡在同一点上。

到目前为止,我看到的对该主题的最佳回应是: Windows Authentication Headers without .NET。可能的?

于 2013-09-23T21:17:23.027 回答