在不同的Web应用程序之间共享Session对象

Asa*_*han 8 java tomcat java-ee

好的,这就是问题所在

我有一个在Apache Tomcat上运行的Java应用程序,我也有这个其他应用程序,它在同一台服务器上运行自己的war文件.

现在我想要对用户进行一次身份验证并将该会话传递给其他应用程序.

我们可以说在同一个Apache Tomcat上进行跨域会话共享..我应该怎么做......?

谢谢

Chs*_*y76 5

Tomcat 通过Tomcat 配置中的Host元素中指定的阀门提供单点登录功能:

<Host name="localhost" ...>
  <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
</Host>
Run Code Online (Sandbox Code Playgroud)

有一定的限制,请查看上面的链接(滚动到单点登录部分)了解详细信息。


the*_*man 3

为会话创建一个唯一的令牌,并将其放入两个应用程序访问的数据库表中。
将令牌存储在用户的 cookie 中。
这避免了会话共享问题并且也更具可扩展性。