我正在使用Jespa进行透明的ntlm登录。我希望能够对多个Windows域中的用户进行身份验证。我有一个域工作。如何添加另一个?
谢谢
最佳答案
我问这个问题来ioplex支持。他们给了我一个很好的答案。这里是:
“只有链中的第一个元素才能执行SSO,因为一旦HttpSecurityService向浏览器提供有关第一个域的信息的挑战,浏览器就无法从另一个域重新开始。至少不是在同一请求中。理想情况下,如果浏览器在最初的NTLM令牌中提交了其自己的域的名称,但不幸的是,它没有提交。
我们实际上得到了这个问题。我们认为处理此问题的最佳方法是创建一个自定义Filter,该Filter创建HttpSecurityService的多个实例-每个域一个。然后,您将具有并行的网络掩码列表,可用于通过远程IP地址将客户端与HttpSecurityService的正确实例匹配。或者,您可以使用所需的任何方法(例如浏览器签名)来识别客户端。或者,您可以使用cookie来标识理想的域,但是在这种情况下,用户将不得不采取某些措施来获取cookie(例如手动登录一次)。你明白我的意思吗?
请注意,如果AD域具有信任关系,则SSO仅应与一个HttpSecurityService实例一起正常工作。仅当域不具有信任关系时,才需要上述解决方案。”