6

有没有办法确定浏览器是否支持 NTLM而无需为 IIS 中的特定站点或目录启用 NTLM 并且显示登录对话框/弹出窗口?最好使用 ColdFusion 或 JS 和 CF 的某种组合来确定这一点。我不希望仅将其限制为 IE,因为其他浏览器(例如 FF)支持 NTLM 身份验证。

4

3 回答 3

4

如果你请求一个页面并且页面返回 401 并说它只接受 NTLM,然后浏览器发送另一个 HTTP 数据包试图响应它,那么它支持 NTLM。您不必让 IIS 执行此操作——您可以在任何页面中设置响应代码和标头请求 NTLM。如果您没有收到另一个请求,则意味着客户端无法通过这种方式进行身份验证。

您可以通过将此请求放入 IFrame 中来在客户端检测到这一点,然后在外部页面中检查以查看 iframe 中发生了什么。

于 2009-06-22T20:58:18.243 回答
2

基于 Lou 的回答,您可以在 try/catch 块中发出 cfhttp 请求。然后,您检查响应标头以确定您的后续步骤。

于 2009-06-22T21:22:57.477 回答
0

不幸的是,您可能被迫使用浏览器嗅探和白名单。

于 2009-06-23T15:02:36.117 回答