【问题标题】:sharing session between WARsWAR 之间的共享会话
【发布时间】:2011-01-29 11:43:37
【问题描述】:

一个war文件的会话数据是否可以被另一个war文件共享

【问题讨论】:

  • 我才意识到几个小时前我已经回答了你这个问题。你可以编辑你的问题,无需创建新问题。

标签: session jsf servlets


【解决方案1】:

Tomcat 有Signle-Sign-On Valve:

当您希望让用户能够登录与您的虚拟主机关联的任何一个 Web 应用程序,然后让同一虚拟主机上的所有其他 Web 应用程序识别他们的身份时,可以使用单一登录 Vale .

您也可以尝试实现single-sign-on using cookies(尽管这有安全缺陷)。

【讨论】:

  • 此处的链接似乎已损坏。解释安全缺陷是什么也可能很有用。
【解决方案2】:

到了这一点,您只需要以某种方式配置服务器以将会话存储在没有路径的 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>

【讨论】:

  • 我正在使用 websphere。我想要这样做的原因是在多个 Web 应用程序之间共享登录信息
【解决方案3】:

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

【讨论】:

  • 我正在使用 websphere。我想要这样做的原因是在多个 Web 应用程序之间共享登录信息
  • 一种更简单(而且可能更安全)的方法是将您需要的信息存储在所有 Web 应用都可以引用的数据库中
猜你喜欢
  • 2014-08-13
  • 1970-01-01
  • 2011-12-20
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2011-09-08
相关资源
最近更新 更多