我有两个 webapps,它们都将位于同一个域/tomcat 应用程序服务器上,只是在不同的上下文路径中。(例如 abc.com/abc 和 abc.com/def )。一个是旧的 struts 1.0 应用程序,另一个是 Stripes 应用程序。
理想情况下,我希望用户登录到一个网站,然后以某种方式共享该身份验证。这可能吗?
struts 应用程序使用 tomcat jdbc 领域进行身份验证,但我对它的工作原理不是很熟悉。
您可以使用SSO Valve查看 Tomcat 的SSO功能
CA SiteMinder 用于我以前的一项工作。这是商业的......但很好。
作为自定义解决方案:编写两个应用程序通用的过滤器(单个源/jar 文件,但在两个应用程序中都使用)。
过滤器将扮演持久会话的角色,即存储在数据库中的会话。
您可以在 Web 上搜索开源会话持久性实现
似乎主机是相同的,但 Web 上下文不同 - 这是一个更简单的任务,然后 SSO 解决(通常涵盖多个 Web 域)