有没有办法确定浏览器是否支持NTLM ,而是否为IIS中的特定站点或目录启用了NTLM,而没有显示登录对话框/弹出窗口?优选地,使用ColdFusion或JS和CF的某种组合来确定这一点。我不希望将此限制为IE,因为其他浏览器(例如FF)支持NTLM身份验证。
答案 0 :(得分:4)
如果您请求页面并且页面返回401并且表示它只接受NTLM,然后浏览器发送另一个试图响应它的HTTP数据包,那么它支持NTLM。您不必让IIS执行此操作 - 您可以在任何页面上设置响应代码和标头请求NTLM。如果您没有收到其他请求,则表示客户端无法通过此方式进行身份验证。
您可以通过将此请求放在IFrame中,然后在外部页面中检查以查看iframe中发生的情况,在客户端上检测到此内容。
答案 1 :(得分:2)
根据Lou的回答,您可以在try / catch块中创建cfhttp请求。然后,检查响应标头以确定接下来的步骤。
答案 2 :(得分:0)
不幸的是,您可能被迫使用浏览器嗅探和白名单。