【问题标题】:Questions about sessions on Tomcat. 2 war webapps关于 Tomcat 会话的问题。 2 战争网络应用程序
【发布时间】:2018-03-06 15:18:42
【问题描述】:

如果我们使用 2 个war 文件部署tomcat 会话生命周期,我想问几个问题。

当我们登录第一个网络应用程序(war1)并在会话中放入一些属性时,我们遇到了这种情况。

在此之后,我们在同一个浏览器中为 war2 打开一个新选项卡,然后在过滤器中我们收到包含带有新 cookie 的新会话的请求。

那么,是否有可能以某种方式在 2 个不同的 wep 应用程序上共享会话属性(1 个 tomcat 实例下的 2 个不同的战争文件)。

是否可以为 2 个 Web 应用程序设置 1 个会话?

例如,如果我在浏览器中为 war1 打开 1 个选项卡,我得到 sesionId 123ASD,然后如果我为 war2 打开第二个选项卡,它将包含相同的 sessionId:123ASD。

这种情况可能吗?

有没有办法配置Tomcat?

我已经尝试将这个阀门放在 server.xml 文件中:

<Valve className="org.apache.catalina.authenticator.SingleSignOn" requireReauthentication="true"/>

并在 context.xml 文件中为 &lt;Context crossContext="true"&gt; 添加 crossContext="true" 值,但它根本没有帮助。

【问题讨论】:

    标签: session tomcat war


    【解决方案1】:

    不,不能在两个 Web 应用程序之间共享会话。

    单点登录 Valve 旨在跨应用程序共享身份验证信息。它不共享会话。

    &lt;Context&gt; 上的 crossContext 属性并不像您认为的那样。它允许应用程序向另一个上下文请求RequestDispatcher,以便跨上下文转发请求。你几乎从不想那样做。它与会话无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 2015-12-16
      • 2015-03-12
      • 2020-09-11
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      相关资源
      最近更新 更多