gpt4 book ai didi

java - 使用 NTLMv2 的集成 Windows 身份验证

转载 作者:行者123 更新时间:2023-11-28 22:25:22 25 4
gpt4 key购买 nike

我正在尝试实现 NTLMv2 类型身份验证,但在使其工作时遇到了问题。

我已将客户端配置为发送 Type-1 GET 请求使用服务器的 hostnamedomain算我一个。服务器响应 401 UnauthorizedWWW-Authorize: NTLM <base64-msg>一起挑战. base64 包含以下内容:

byte[] msg = {(byte) 'N', (byte) 'T', (byte) 'L', (byte) 'M', (byte) 'S', (byte) 'S', (byte) 'P', (byte) '\0',
0x02, 0, 0, 0, 0, 0, 0, 0, /*msg*/0x28, 0/*length*/, 0, 0, 0x01, (byte) 0b10000010, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, //nonce
0, 0, 0, 0, 0, 0, 0, 0}

在那之后,我期待 Internet Explorer 自动发送 Type-3响应将包含用户名和使用密码哈希的加密质询,但它什么都不做。

我已经在 Local Intranet 下设置了我的本地 IP设置并更改了自定义级别以使用 Automatic logon with current username and password .

我是否应该在收到服务器的质询响应后手动执行某些操作?我需要浏览器进行加密,因为我无权访问当前用户的凭据。

服务器端组件是自定义的Java applicationTomcat 8.0.45 上运行.虽然我认为它不应该相关,但我添加了这个以防万一。另请注意,服务器有时也可能在代理后面(通常以 Apache HTTPD 的形式)。

最佳答案

如果您使用的是 IE,则无需了解其幕后工作原理,但下面有详细信息。

如果 IE 没有响应,您可能遇到了区域冲突。如果 IP 应用于多个区域,事情就会变得困惑。我会验证您将站点添加到受信任的站点,并确保为该区域设置了自动设置。

我非常幸运地使用了 Eric Glass 的代码和解释。 http://davenport.sourceforge.net/ntlm.html附录中的 Java 有效,我非常幸运地将它转换为 c#,几乎不需要更改任何内容。

关于java - 使用 NTLMv2 的集成 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com