我正在使用一个系统,该系统为从 Firefox 38.2.1(或 IE 11)访问 Windows Server 2012(IIS 8.5)上运行的 Intranet .NET 4.5.1 Web 应用程序到 SQL Server 2008 R2 上的双跳实现约束委派不同的服务器。委托方案正在运行:用户的 AD 凭据被传递到与 Web 服务器分开的服务器上的数据库。DC 是 Windows Server 2008 R2,我们使用 SPN。
但是,在某些情况下,例如缺少 Firefox 配置设置,Kerberos 会失败;并且身份验证协议降级为 NTLM。在重新启用 Kerberos 身份验证协议之前,委派在一段时间内不再起作用(一些消息来源说 5 分钟;在我们的测试中更像是 10-12 分钟)。此外,失败的委派会影响协议降级生效后访问应用程序的所有用户,直到 Kerberos 自动恢复。换句话说,他们的会话使用 NTLM 并在 10-12 分钟内被阻止访问数据库。
有没有办法通过代码 (c#)/IIS/Firefox/IE 或其他方法手动将身份验证协议恢复到 Kerberos,从而缩短使用 NTLM 协议的窗口?