首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NTLMv2的集成Windows身份验证

使用NTLMv2的集成Windows身份验证
EN

Stack Overflow用户
提问于 2017-11-16 20:49:36
回答 1查看 464关注 0票数 1

我正在尝试实现NTLMv2类型的身份验证,但是我遇到了一些问题。

我已经将客户机配置为使用服务器的hostname和我所在的domain发送Type-1 GET请求。服务器使用带有WWW-Authorize: NTLM <base64-msg>401 Unauthorized质询进行响应。base64包含以下内容:

代码语言:javascript
复制
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

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

服务器端组件是在Tomcat 8.0.45上运行的自定义Java application。尽管我认为这不应该是相关的,但我还是添加了这一点,以防它是相关的。还要注意,服务器有时也可能位于代理之后(通常是以Apache HTTPD的形式)。

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 07:35:03

如果你正在使用IE,你不需要知道它在幕后是如何工作的,但下面有一些细节。

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

我对Eric Glass的代码和解释感到非常幸运。附录中的http://davenport.sourceforge.net/ntlm.html可以正常工作,我非常幸运地将其转换为c#,几乎不需要做任何更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47330098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档