0

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

4

2 回答 2

1

不容易。Servlet API 不支持这种用法。做这件事有很多种方法:

  1. SSO 可以满足您的大部分需求。

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

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

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

  5. 可能有很多我没有想到的方法。

于 2012-05-02T09:13:47.437 回答
0

1.使用这个属性crossContext="true"

2.使用webservice管理用户权限

于 2012-05-02T09:12:05.033 回答