问题标签 [ntlmv2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3475 浏览

php - PHP Single Sign On using NTLMv2

I have a nginx web server, using php-fpm for script execution, and I want to get the NTLMv2 credentials of the client browsing the the server. I have a proxy server within my local network to authenticate my users. The question is, how to do I make the nginx server authenticate, or PHP get the credentials of my users using NTLMv2 and pass me back information? I would obviously need to know their username at least to make sure that the client gets the correct credentials within the system.

I'm fine with making a upstream connection to the proxy server when for example I go to /login.php, so long as it passes the information about the client back to the server about the client, for example the user name found in the Type-3 message, I could then save this information within their session and use it from that point on.


I have a Linux server running nginx, PHP and SQLite within a local area network. The computers that are connecting to this server are all Windows based using Windows Login to the network. The login uses NTLMv2 authentication and to get to websites outside of the network via a proxy that all clients must go through to make a connection to the outside web. What I want to do, is use the NTLMv2 authentication information for the login into the LAN web server. Any suggestions on how I could do this?

0 投票
1 回答
568 浏览

liferay - 使用 liferay 的 SSO

我想从配置为 LDAP 的 liferay 实现 SSO。我已将我的 liferay 配置为 AD,它正在验证并且工作正常。我想将 SSO 功能添加到我的应用程序中。一旦登录到windows ldap。使用我的 ldap 登录名/密码。我的应用程序不应要求提供用户名密码。有没有办法使用 liferay 实现这种 SSO。

任何帮助表示赞赏。

谢谢洛克什

0 投票
2 回答
1938 浏览

node.js - 如何检查 NTLM type3 消息?(node.js)

我想用 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

0 投票
2 回答
2370 浏览

php - Debian 和 IIS 服务器之间的 SOAP 和 NTLM 身份验证

我对 PHP 中的 SOAP 身份验证有疑问。我到处检查没有成功的答案。

我希望有人能在这里帮助我!

所以这里是交易。

我的 PHP 应用程序服务器是带有 Apache2 的 Debian 6,并且 Web 服务基于 IIS 服务器。

两台服务器都在我们公司的网络内。

对于连接和身份验证,我使用网络上的一个类:

http://tcsoftware.net/blog/2011/08/php-soapclient-authentication/

这是我使用此类的代码:

注意:“定义('CURLOPT_CERTINFO',1);” 添加这个常量是因为我们的 php 版本中没有定义这个常量。如果我没有定义它,我们有一个错误是:

从客户端连接到 debian 服务器的结果是 401 错误,参见以下内容:

第二次,如果我在使用常量 CURLOPT_CERTINFO 的 SoapClientAuth.php 中注释第 97 行:

然后响应更改如下:

我不知道为什么这里提到了 kerberos ......但可能是一个线索。

最后但并非最不重要的一点是,
这段代码可以在我的本地机器上运行,这是一台 Windows 机器。此外,要配置 CURLOPT_CERTINFO 接缝,因为我不需要在我的 Windows 环境中重新定义它。

好吧,这就是我目前所知道的。我想不出问题出在哪里。这肯定是由于 Debian 和 IIS 之间的身份验证问题,但是......我不明白。

如果您需要任何其他信息,请不要犹豫。谢谢您的帮助。

0 投票
0 回答
602 浏览

macos - 如何在 MAC 中设置不同的 NTLM 版本进行身份验证

想知道你们中是否有人知道如何在 MAC OS 10.8/10.9 中更改 NTLM 版本。

我需要在 MAC 中设置 NTLM v2,这样当我将网络设备映射到 MAC 时,它应该通过 NTLMv2 进行身份验证。

默认情况下 NTLMv1 正在工作,不知道如何更改它:(..

任何帮助表示赞赏:)。

0 投票
0 回答
1187 浏览

python - 通过 python 2.7 进行 NTLM v2 身份验证

我正在实施 NTLMv2 身份验证。使用 activestate python 2.7.5.6。来自https://code.google.com/p/python-ntlm/的NTLM在 urllib2 中似乎存在一个错误,因为通过具有身份验证的代理访问 https url 没有成功通过http://bugs.python .org/issue7291

我们面临的 Python 错误在 python 2.6.X 中报告,修复也是 python 2.7.6 ( http://www.python.org/getit/releases/2.7.6/ ) 的一部分,它是在 2.7 之后发布的.5.6. 这是根据 2.7.6 的发行说明。(http://hg.python.org/cpython/raw-file/99d03261c1ba/Misc/NEWS)-错误#7291(http://bugs.python.org /issue7291 ) 在 2.7.6 的发行说明中被错误地称为 7231。虽然描述是正确的。- 我检查了源代码并没有在 python 2.7.6 中看到此问题的代码更改,尽管发行说明说错误修复是发行的一部分。我对提到的提交进行了交叉检查(http://bugs.python.org/file20824/http_proxy_https.patch) 在错误跟踪系统中打开的问题中。- 目前 ActiveState python 不支持 python 2.7.6 ( http://www.activestate.com/activepython/downloads ) (2.7.6 于 2013 年 11 月 10 日发布)

所以需要选择哪个版本的python,或者有没有其他方法可以在python中实现NTLMv2。

0 投票
1 回答
638 浏览

ntlmv2 - NTLMv2 与 LDAP 一起工作

我正在使用 NTLMv1,它工作正常。唯一的缺点是,如果我登录一次,它会访问 LDAP 服务器 3 到 4 次。

所以我不想要那个。谁能解释一下这个过程在 NTLMv2 中是如何进行的?

下面是 NTLMv2 的代码

0 投票
0 回答
1312 浏览

delphi - 如何在 Delphi 中对 Lync Server 2013 进行 NTLM 身份验证?

我正在尝试使用 SIP 中的 NTLM 方法对从客户端到 Lync Server 2013 软件电话的应用程序进行身份验证。但我不确定如何执行其中的AUTHENTICATE_MESSAGE部分。

这是我为 SIP 消息的授权部分所做的事情:

问题是,我不确定如何在第三条消息中生成“ProcessedChallenge”和“response”值。其余的似乎还可以,但以防万一,以下是痕迹:

我尝试了 Indy 的 SSPI 和 OverbyteICS 的身份验证方法,但没有成功。在delphi中是否存在这样做的方法?如果是,该怎么做?

0 投票
0 回答
872 浏览

javascript - 如何编写 node.js 代理以使用 NTLMv2 身份验证

我试图通过 stackoverflow 搜索类似的问题,但大多数人都在询问 NTLMv2 协议的客户端。我正在实现一个代理,它执行协议的服务器端来验证连接到代理的用户。我已经编写了很多协议,但我现在卡住了,因为应该让我更进一步的文档很难理解。

这是迄今为止我找到的最好的文档:http: //www.innovation.ch/personal/ronald/ntlm.html,但我不知道如何处理 LM 和 NT 响应。

代理位于应用程序服务器上。域服务器是不同的机器。

节点代理的示例代码:

ProxyAuth.js 代码:

/* 现在我该怎么办?*/ 注释指定我卡在哪里。

我希望我在那里提供了足够的信息,但如果还需要其他信息,请告诉我。

0 投票
1 回答
472 浏览

python - 创建 NTLM Challenge_Message - 如何获取 AV_PAIR 值?

我目前正在尝试编写一个函数来在 python3 中创建一个 NTLM 挑战消息。

是否有任何模块/功能可以帮助我获得创建 AV_PAIR 的值?我不太确定何时使用哪些函数来获得正确的值,我也想避免通过输入字符串参数选择。

NTLM AV_PAIR 定义:http: //msdn.microsoft.com/en-us/library/cc236646.aspx

背景:我想在 Windows ActiveDirectory 环境中为 Flask 编写 NTLM 身份验证。