如果我们使用2个war文件部署它,我想问一些关于tomcat会话生命周期的问题。
我们遇到第一个Web应用程序(war1)登录并在会话中添加一些属性的情况。
在此之后,我们在war2的同一浏览器中打开一个新选项卡,然后在内部过滤器中,我们正在接收包含新cookie的新会话的请求。
那么,是否有可能以某种方式在2个不同的wep应用程序(1个tomcat实例下的2个不同的war文件)上共享会话属性。
是否可以为2个Web应用程序设置1个会话?
例如,如果我在浏览器中为war1打开1个选项卡,我将获得sesionId 123ASD,然后如果我为war2打开第二个选项卡,它将包含相同的sessionId:123ASD。
这种情况可能吗?
有没有办法配置Tomcat?
我已经尝试在server.xml文件中输出这个阀门:
<Valve className="org.apache.catalina.authenticator.SingleSignOn" requireReauthentication="true"/>
并在context.xml文件中为<Context crossContext="true">
添加crossContext =“true”值,但它根本没有帮助。
答案 0 :(得分:0)
不,不可能跨两个Web应用程序共享会话。
单点登录阀旨在跨应用程序共享身份验证信息。它不会分享会话。
crossContext
上的<Context>
属性并不符合您的想法。它允许应用程序向另一个上下文请求RequestDispatcher
,以便跨上下文转发请求。你几乎从不想这样做。它与会话无关。