2

我有两个不同的 web 应用程序在两个不同的 tomcat 实例上运行。我需要有一个包含两个应用程序链接的公共页面。但我应该只能登录一次,并且应该能够访问其他应用程序中的链接而无需再次登录。有没有办法做到这一点?

4

5 回答 5

3

查看josso,您可以使用它在您的应用程序中创建单点登录解决方案

于 2012-06-27T15:39:15.227 回答
1

您可以使用令牌参数,其中令牌可以是用户名/一些加密的凭据。您可以在 2 个应用程序中验证凭据是否正确。

另一种方法是,如果您的应用程序位于同一域下,则可以设置 cookie 并从中重新创建会话。

于 2012-06-27T15:41:03.790 回答
1

感谢您的回复。我们最终决定使用 Spring security 提供的 Pre authentication Filter 和 authentication token 来满足这个要求。

于 2012-07-18T20:53:14.263 回答
0

最简单的方法是提供中央身份验证服务 (CAS):单点登录。它为您的应用程序提供集中的访问控制和身份验证。并且 Spring Security 有一个与 CAS 无缝集成的 CAS 模块。为此,您需要设置一个 CAS 服务器。

有关 CAS 如何工作和实施的更多信息,请参阅文档。

Spring-Security 文档

CAS 架构

于 2012-06-28T02:04:08.657 回答
0

另一种做法是创建一个Tomcat集群,并维护集群下2个节点之间的会话复制。请参考 Tomcat 手册如何创建 Tomcat 集群并启用会话复制。您可以使用 Spring RMI 更新有关会话信息等的其他节点应用程序上下文...

于 2012-07-12T09:52:47.477 回答