我使用WAFFLE将Web服务器与Windows身份验证集成。
当我使用短主机名访问Web服务器时,服务器被视为"信任"通过Chrome和IE浏览器,一切都按预期工作。
当我使用完整主机名访问完全相同的Web服务器时,不再考虑服务器"信任" (这是废话,说实话,因为IP地址没有改变),无论浏览器如何,我都会被提示输入密码(这很好,服务器不受信任。)
问题在于即使我提供了正确的密码,它也不会让我登录。相反,我会一遍又一遍地使用相同的密码对话框。
如果我从Mac上的浏览器访问,我会看到一个登录对话框并输入我的密码,导致登录成功。
两者之间的区别在于,在Windows上,浏览器发送授权:协商,在Mac OS X上,他们发送授权:基本。
我在电汇上看到的完整标题:
Authorization: Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
此decodes到" NTLMSSP \ 0 ....二进制数据...."
二进制数据不足以包含我的凭据或其哈希值,所以我认为浏览器要求输入我的密码,然后扔掉它而不是用它来验证我。