【发布时间】:2011-01-29 11:43:37
【问题描述】:
一个war文件的会话数据是否可以被另一个war文件共享
【问题讨论】:
-
我才意识到几个小时前我已经回答了你这个问题。你可以编辑你的问题,无需创建新问题。
一个war文件的会话数据是否可以被另一个war文件共享
【问题讨论】:
Tomcat 有Signle-Sign-On Valve:
当您希望让用户能够登录与您的虚拟主机关联的任何一个 Web 应用程序,然后让同一虚拟主机上的所有其他 Web 应用程序识别他们的身份时,可以使用单一登录 Vale .
您也可以尝试实现single-sign-on using cookies(尽管这有安全缺陷)。
【讨论】:
到了这一点,您只需要以某种方式配置服务器以将会话存储在没有路径的 cookie 中。对于 Tomcat,您只需将 <Connector> 元素的 emptySessionPath 属性设置为 /conf/server.xml 中的 true。另见this Tomcat Configuration Reference。
<Connector ... emptySessionPath="true">
然而,这会影响部署在同一服务器上的所有个 webbaps。
更新:由于您实际使用的是 Websphere(在底层使用 Tomcat),您需要更改 Websphere 的 config.xml 中的 Tomcat 连接器以包含以下属性:
<attribute name="emptySessionPath">true</attribute>
【讨论】:
这并不容易。但我已经能够使用 tomcat 做到这一点。这是一个链接http://www.fwd.at/tomcat/sharing-session-data-howto.html 我不确定您使用的是什么服务器。另外,你为什么需要这样做,根据你需要做什么,可能还有另一种解决方案。
【讨论】: