【问题标题】:Jespa ntlm authentication with multiple active directories or windows domains具有多个活动目录或 Windows 域的 Jespa ntlm 身份验证
【发布时间】:2011-08-15 19:49:56
【问题描述】:

我正在使用 Jespa 进行透明 ntlm 登录。我希望能够对多个 Windows 域中的用户进行身份验证。我让它与一个域一起工作。如何添加另一个?

谢谢

【问题讨论】:

  • 我认为我可以使用 ChainSecurityProvider 但文档说“只有链中的第一个 SecurityProvider 可以执行 SSO 身份验证。”为什么我不能将 ntlmSecurityProviders 链接在一起?
  • 请注意,如果域有信任,它应该都能正常工作。 Jespa 完全支持使用信任的跨域身份验证。你不需要做任何特别的事情。这个问题显然是关于没有信任的域,在这种情况下,下面的答案是适用的。但如果您有任何疑问,您应该发送电子邮件至 ioplex 支持。

标签: active-directory single-sign-on ntlm jespa


【解决方案1】:

我向 ioplex 支持提出了这个问题。他们给了我一个很好的答案。这里是:

“只有链中的第一个元素可以执行 SSO,因为一旦 HttpSecurityService 向浏览器询问第一个域的信息,浏览器就不能为不同的域重新开始。至少不能在同一个请求中。理想情况下是如果浏览器在初始 NTLM 令牌中提交了它自己的域的名称,那就太好了。但不幸的是,它根本没有。

我们实际上得到了很多这个问题。在我们看来,处理这个问题的最好方法是创建一个自定义过滤器,该过滤器创建多个 HttpSecurityService 实例——每个域一个。然后,您有一个并行的网络掩码列表,可用于通过远程 IP 地址将客户端与正确的 HttpSecurityService 实例进行匹配。或者您可以使用任何您想要的方法来识别客户端,例如浏览器签名。或者您可以使用 cookie 来识别理想的域,但在这种情况下,用户必须做一些事情来获取 cookie(例如手动登录一次)。你明白我的意思吗?

请注意,如果 AD 域具有信任关系,则 SSO 应该仅适用于一个 HttpSecurityService 实例。仅当域没有信任关系时,才需要上述解决方案。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多