Rob*_*ant 10 active-directory jetty kerberos spnego
我们有一个稍微复杂的 IDAM 设置:
即最终用户的机器和浏览器与父 AD 位于一个网络中,而我们基于 Jetty 的应用程序和它可以与之通信的 AD(本地 AD)位于另一个网络中。
两个 AD 之间存在双向信任。父网络中的浏览器在受信任站点中具有本地域。
Jetty 服务器的设置如下:
问题是:
然而,从父网络内的浏览器访问服务器(这是我们的用户将如何做事)不起作用!浏览器返回 401 unauth,然后提示输入凭据,输入时显示空白屏幕。然后单击地址栏并按 Enter 会执行以下两项操作之一,具体取决于凭据是用于远程 AD 还是本地 AD:
Authorization: Negotiate <60 or so random chars>)无论哪种方式,它提示的事实都是错误的!
这些症状有解释吗?我们拥有的设置可以做我们想要的吗?
就上述描述而言可能是错误的:我提到的有关 Jetty 服务器的任何配置都应该是准确的,正如我所做的那样。我很乐意提供更多细节。任何关于 AD 或父网络浏览器的配置都可能是可疑的,因为它不在我的控制之下,而且我已经将配置报告给了我,而不是我自己看到的。
如果没有看到数据包捕获,我猜测HTTP/www.website.com SPN 需要注册到运行应用程序的帐户。Microsoft 的目录服务团队在以下 URL 上发表了一篇精彩的多部分帖子,讨论了该主题。
从每个环境中的客户端运行数据包捕获(netmon、wireshark)以识别正在查找的 SPN。确定后,使用setspn cmd 将其注册到运行应用程序的帐户。
FWIW,Kerberos 仅在 LAN 上工作。如果有人需要访问无法访问域控制器的地方,那么您需要考虑 SSO,例如 Shibboleth 或 ADFS。
编辑:正如@alex-h提到的,浏览器需要配置为通过 Kerberos 进行静默身份验证。
最后,这是 Microsoft Sharepoint 部署的常见问题。他们希望在用户通过域身份验证后通过 Kerberos 静默进行 SSO。因此,如果上述答案不能解决您的问题,请尝试检查他们的论坛,如下所示:
Chrome、Safari 或 FireFox 上的 Kerberos
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |