使用Golang的Windows NTLM身份验证

使用Golang的Windows NTLM身份验证,go,windows-authentication,ntlm,Go,Windows Authentication,Ntlm,需要使用需要集成windows身份验证(NTLM)的golang客户端(net/http)进行http调用()它不工作..-我不是,我缺少的是我使用的代码。。(使用的软件包-ntlmssp“github.com/Azure/go ntlmssp”) 我从下面的响应中得到了错误 {401 Unauthorized 401 HTTP/1.1 1 1 map[Content-Type:[text/html] Server:[Microsoft-IIS/8.5] Www-Authenticate:[NT

需要使用需要集成windows身份验证(NTLM)的golang客户端(net/http)进行http调用()它不工作..-我不是,我缺少的是我使用的代码。。(使用的软件包-ntlmssp“github.com/Azure/go ntlmssp”)

我从下面的响应中得到了错误

{401 Unauthorized 401 HTTP/1.1 1 1 map[Content-Type:[text/html] Server:[Microsoft-IIS/8.5] Www-Authenticate:[NTLM Negotiate]
当我在启用了windows身份验证的本地Web服务器上运行时,似乎可以正常工作。。。我注意到IIS版本中存在差异-不确定它如何影响NTLM

200 OK 200 HTTP/1.1 1 1 map[Content-Type:[text/html] Accept-Ranges:[bytes] Server:[Microsoft-IIS/10.0] Persistent-Auth:[true] L
此外。。当我注意到NTLM握手-这就是我所看到的(不太熟悉NTLM握手/它意味着什么…),所以不确定这是否意味着什么

当它工作时,授权标签进行协商


但是当它无法将授权标签发送到NTLM时

它使用的站点和未使用的站点之间有什么区别?我自己更正了-它不使用任何站点(执行了错误的测试)好的,这是一个更新。。。它有时确实有效。。。我设置了一个需要身份验证的本地站点。我看到的区别是IIS版本{401未经授权的401 HTTP/1.1 1映射[内容类型:[text/html]服务器:[Microsoft IIS/8.5]Www Authenticate:[NTLM协商]日期:[2017年6月29日星期四21:25:13 GMT]与200 OK 200 HTTP/1.1映射[内容类型:[text/html]接受范围:[字节]服务器:[Microsoft IIS/10.0]持久身份验证:[true]如果你看一下该库的自述文件,有一些相当具体的情况下,它的设计工作,这可能是或可能不是问题。谢谢..我想知道相同的…但我看不到/理解什么是不同的..我确实找到了授权-NTLM…但这是关于如何配置IIS的jsut-我猜是NTLM版本问题…无论如何,我会继续挖掘..再次感谢@Adrian的反馈!!!它使用的站点和不使用的站点之间有什么区别?我自己更正了-它不使用任何站点(执行了一个糟糕的测试)好的,这是一个更新…它有时确实有效…我设置了一个需要身份验证的本地站点。我看到的区别是IIS版本{401 HTTP/1.1 1 map[Content Type:[text/html]Server:[Microsoft IIS/8.5]Www Authenticate:[NTLM协商]日期:[2017年6月29日星期四21:25:13 GMT]vs 200 OK 200 HTTP/1.1映射[内容类型:[text/html]接受范围:[bytes]服务器:[Microsoft IIS/10.0]持久身份验证:[true]如果你看一下该库的自述文件,有一些相当具体的情况下,它的设计工作,这可能是或可能不是问题。谢谢..我想知道相同的…但我看不到/理解什么是不同的..我确实找到了授权-NTLM…但这是关于如何配置IIS的jsut-我猜是NTLM版本问题…无论如何,我会继续挖掘…再次感谢@Adrian的反馈!!!
200 OK 200 HTTP/1.1 1 1 map[Content-Type:[text/html] Accept-Ranges:[bytes] Server:[Microsoft-IIS/10.0] Persistent-Auth:[true] L