6

从在 Windows 上运行的 Google Chrome 或 Firefox 3.5+ 对 AD FS 2.0 使用 NTLM 身份验证时,这会导致重复登录对话框并最终登录失败,并出现带有“状态:0xc000035b”的“审核失败”事件。

这可以通过关闭 IIS 中“/adfs/ls”Web 应用程序的“扩展保护”来“解决”。这在几个地方都有记录;有关详细信息,请参阅我对另一个 StackOverflow 问题的回答

我的问题是:如何在关闭“扩展保护”的情况下使 AD FS 的 NTLM 身份验证适用于这些浏览器?我的意思是,在 Internet Explorer 中,“扩展保护”打开时效果很好,为什么 Chrome 或 Firefox 不能呢?或者这是 Chrome/Firefox 实现错误/限制,例如,在他们使用 Windows NTLM 库时?

更新:我应该提到我想在不强迫人们更改浏览器设置的情况下这样做。

4

2 回答 2

10

根据

这是 Chrome / Firefox / Safari 实施限制,如果

  • 客户端正在运行 Windows 7并且服务器已ExtendedProtectionTokenCheck设置为 RequireAllow
  • 客户端正在运行 Windows XP 或 Vista - 没有适当的更新(!)并且服务器已ExtendedProtectionTokenCheck设置为 Require

也许您可以通过以下方式抑制客户端的扩展保护:http: //support.microsoft.com/kb/976918/en-us

[...]
要控制扩展保护行为,请创建以下注册表子项: 项
名称: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA
值名称: SuppressExtendedProtection
类型: DWORD

对于支持通道绑定但无法通过未正确处理 CBT 的非 Windows Kerberos 服务器进行身份验证的 Windows 客户端:
1.将注册表项值设置为“<strong>0x01”。<br/>这将配置 Kerberos不要为未打补丁的应用程序发出 CBT 令牌。
2.如果这不能解决问题,则将注册表项值设置为“<strong>0x03”。<br/>这将配置 Kerberos 从不发出 CBT 令牌。

[...]

于 2011-07-27T11:37:11.177 回答
0

扩展保护旨在防止 kerberos 票据重放攻击。

据我了解,它在 IE 中有效,因为 ADFS 的默认设置是 Windows 集成身份验证,IE 处理“幕后”。

当我不久前对此进行调查时,如果我没记错的话,Firefox 有一个解决方法。

于 2011-06-23T20:34:17.010 回答