如何在同一个tomcat下共享存储在不同webapps会话中的数据

时间:2012-05-02 09:00:26

标签: session tomcat share

我在一个tomcat下部署了几个webapps,每个都有自己的上下文,但我需要在这些webapps之间共享登录用户信息,例如,当用户从webapp A登录时,它的id,名称和其他信息都存储起来在会话中,当它试图访问其他webapp时,我希望我们可以从会话中获取这些信息,根据servlet spce,会话不能在不同的webapps之间共享,有没有办法在不同的webapps之间共享这些数据同样的tomcat?

2 个答案:

答案 0 :(得分:1)

不容易。 Servlet API不支持此类用法。有几种方法可以做到这一点:

  1. SSO可以为您提供所需的大部分内容。

  2. 将信息存储在数据库中,并在需要时在其他Web应用程序中查找。

  3. 创建/查找可从两个Web应用程序(即某种形式的缓存)访问的一些共享存储。你需要非常小心这种方法,不要造成任何内存泄漏。

  4. 使用跨上下文请求在Web应用程序之间传递信息(有点难看,可能会产生安全问题)。

  5. 可能是我想不到的一堆方法。

答案 1 :(得分:0)

1.使用此属性 crossContext = “真”

2.使用webservice来管理用户权限