跨群集的Tomcat服务器的单一登录

问题描述:

我们有多台Tomcat服务器为单个域提供内容(通过Apache httpd前端)。我们这样做是为了平衡我们的一个servlet上的内存使用情况。也就是说,每台服务器都提供相同的Web应用程序,但用于不同的数据集。我们希望在我们的网站上实施单点登录。跨群集的Tomcat服务器的单一登录

换句话说,我们的httpd配置,以便访问者http://example.com/reports/a/去reports.war在Tomcat服务器A,而http://example.com/reports/b/去对Tomcat服务器B. reports.war每个URL是一个单独的报告,我们无法将单个服务器上的两个报告都放入RAM中。

据我所知,我们不能使用Tomcat集群,因为它是专为服务器复制而设计的,即具有相同数据的相同服务器。我已经通过Tomcat的PersistentManager和JDBC Store查看了会话共享,但似乎是为缓存会话而设计的,而不是共享它们。

我错过了什么,或者这是否需要相当数量的自定义编码? (我愿意尝试另一个开源的servlet容器,如JBoss或GlassFish,如果他们有内置的话)。

因为它们在同一个域中,所以可以使用cookie方法,并设置一个SSO标志或者在成功登录时在第一个webapp上的cookie中添加一些类似的属性,并在其他web应用中读取它们。