当从在 Windows 上运行的 Google Chrome 或 Firefox 3.5+ 对 AD FS 2.0 使用 NTLM 身份验证时,这会导致重复登录对话框并最终登录失败,并出现“审核失败”事件,状态为“状态:0xc000035b”。
这可以通过关闭 IIS 中“/adfs/ls”Web 应用程序的“扩展保护”来“解决”。这在多个地方都有记录;看我对另一个 StackOverflow 问题的回答了解详情。
我的问题是:如何使 AD FS 的 NTLM 身份验证适用于这些浏览器without关闭“扩展保护”?我的意思是,在 Internet Explorer 中,在打开“扩展保护”的情况下,这可以正常工作,为什么 Chrome 或 Firefox 不行呢?或者这是 Chrome/Firefox 实现错误/限制,例如,在使用 Windows NTLM 库时?
Update:我应该提到,我希望在不强迫人们更改浏览器设置的情况下执行此操作。
根据
- http://technet.microsoft.com/en-us/library/hh237448(v=ws.10).aspx
- http://support.microsoft.com/kb/2461628/en-us
这是 Chrome / Firefox / Safari 的实施限制,如果
- 客户端运行的是 Windows 7and服务器有
ExtendedProtectionTokenCheck
set to
Require
or Allow
- 客户端正在运行 Windows XP 或 Vista - 没有适当的更新(!)and服务器有
ExtendedProtectionTokenCheck
set to
Require
也许您可以通过以下方式抑制对客户端的扩展保护:http://support.microsoft.com/kb/976918/en-us
[...]
要控制扩展保护行为,请创建以下内容
注册表子项:
按键名称:HKEY_LOCAL_MACHINE\系统\CurrentControlSet\Control\LSA
值名称:抑制扩展保护
Type: DWORD
对于支持通道绑定但失败的 Windows 客户端
由不处理的非 Windows Kerberos 服务器进行身份验证
正确的 CBT:
1.将注册表项值设置为“0x01.”
这会
将 Kerberos 配置为不为未修补的应用程序发出 CBT 令牌。
2.如果这不能解决问题,请设置注册表项
值“0x03.”
这将配置 Kerberos 从不发出 CBT
代币。
[...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)