我一直在尝试让 Kerberos 委派在所有浏览器上工作,但没有成功。我在 Linux 和 Windows 上运行 Java Web 服务器。
Linux 上的 Firefox(64 位):接收票证并且委托工作正常。我已适当设置了 network.negotiate-auth.delegation-uris 和 network.negotiate-auth.trusted-uris 首选项。
Linux 上的 Chrome(64 位):我收到了 Kerberos 票证,但委派不起作用。我尝试使用命令行功能 --auth-negotiate-delegate-whitelist="{REALM_NAME}" 启动浏览器,但似乎无法委派。最近在 2017 年 11 月可能提交了一份错误报告,称帐户委派不起作用。
Windows 上的 Internet Explorer:接收票证和委派工作正常。填写登录提示时,Internet Explorer 还会自动检索 AD 域名。如果我没有在“Internet 选项 -> 安全 -> 本地 Intranet -> 自定义级别”中启用“提示输入用户名和密码”设置,IE 默认为 NTLM(我不想要)。
Windows 上的 Chrome(64 位):我可以发送 AD Kerberos 票证,但委托凭证不起作用。另外,我很好奇为什么当出现登录提示时我必须将 @{DOMAIN_REALM} 附加到用户名,而 IE 会自动获取它。
Windows 上的 Firefox(64 位):我必须禁用“使用 SSPI”首选项才能发送 Kerberos 票证。如果启用了使用 SSPI 首选项,Firefox 默认为 NTLM。我在 Firefox 中配置了相同的正确协商首选项,但委派似乎不起作用。我检查了日志文件,发现 Firefox 在形成凭据时确实尝试附加令牌“使用 REQ_DELEGATE”,但我的 Java Web 服务器仍然认为客户端帐户不允许委派。