跨Tomcat服务器单点登录,无需群集

时间:2010-09-29 22:19:38

标签: tomcat single-sign-on cluster-computing

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

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

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

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

1 个答案:

答案 0 :(得分:0)

由于它们位于同一个域中,您可以使用cookie方法,并在成功登录时在第一个webapp上的cookie中设置SSO标志或某些类似属性,并在其他Web应用程序中读取它们。