在WAR之间共享会话

时间:2010-03-19 14:02:22

标签: session jsf servlets

一个war文件的会话数据是否可能被其他war文件共享

3 个答案:

答案 0 :(得分:3)

到目前为止,您只需要以某种方式配置服务器以将会话存储在没有路径的cookie中。如果是Tomcat,您只需将emptySessionPath元素的<Connector>属性设置为true中的/conf/server.xml即可。另请参阅this Tomcat Configuration Reference

<Connector ... emptySessionPath="true">

然而,这会影响部署在同一服务器上的所有 webbaps。

更新:因为您实际使用的是Websphere(它使用Tomcat),您需要更改Websphere config.xml中的Tomcat连接器以包含以下属性:

<attribute name="emptySessionPath">true</attribute>

答案 1 :(得分:2)

这不容易做到。但我已经能够使用tomcat做到这一点。这是一个链接http://www.fwd.at/tomcat/sharing-session-data-howto.html我不知道你使用的服务器是什么。另外,为什么你需要这样做,根据你需要做什么,可能还有另一种解决方案。

答案 2 :(得分:1)

Tomcat拥有Signle-Sign-On Valve

  当您希望用户能够登录与虚拟主机关联的任何一个Web应用程序,然后在同一虚拟主机上的所有其他Web应用程序识别其身份时,将使用Single Sign On Vale

您也可以尝试实施single-sign-on using cookies(虽然这有安全方面的缺点)。