在回答使用 Google Chrome 进行 Windows 身份验证提示 Chrome 尚不支持自动 NTLM 身份验证这意味着使用 Windows 身份验证对站点进行身份验证的用户会被提示登录。这很烦人,但不是问题。问题在于用户密码随后会以明文形式发送到身份验证站点。
我快速编写了一个 ASP.NET 脚本,从验证密码在 Request.ServerVariables 集合中。Safari 和 Opera 都提示输入用户凭据,但都没有在 HTTP 标头中以明文形式发送密码。我发现这特别奇怪,因为 Chrome 和 Safari 都是基于 WebKit 的。
Chrome 身份验证的方式与其他浏览器有何不同?为什么它以这种方式将密码发送到网站?
答案1
NTLM 目前正在移植到 Chrome。请参阅这。只需等待下一个版本。
答案2
一种可能性是 Chrome 可能根本不支持 NTLM,Chrome 只是回退到HTTP BASIC 身份验证. 您能通过 wireshark 或类似程序获取所使用的精确标头吗?
答案3
回复您对 bdonlan 的回答的评论:
我猜我无法看到身份验证,因为我正在运行的网站正在使用 SSL。
这burp 代理工具允许监视(甚至修改)HTTP 请求和响应,并且它也可以充当 HTTPS 代理。(它可能有效,也可能无效,具体取决于 Chrome 如何使用 HTTPS 代理。)
答案4
据我通过 Wireshark 了解,Chrome 确实支持 NTLM 身份验证。但它不支持通过现有凭据进行单点登录。
这就是 AUTH_PASSWORD 字段为空的原因。