在同一个weblogic服务器上从contextB查杀contextA的会话

时间:2013-03-05 18:25:24

标签: session weblogic

嗨我在同一台机器上有2场战争。让我们说warA和warB。

当用户在/ warA中时,我在/ warB中拥有同一用户的sessionId。我想要杀掉这个会议。

我的目标是,如果用户在/ warA,我想要保证/ warB中的用户会话被杀死。

有些人可以说编写一个杀死/ warB会话并从/ warA调用它的servlet。

我不能这样做的原因是,/ warB前面有一个代理(Oracle Access Manager)执行身份验证部分,不要让我直接调用warB的servlet。

还有其他方法可以完成我的工作吗?

编辑:

我找到了这个。 OAM代理是否违反了此请求?它是一个简单的请求还是上下文之间的请求?

servletContext.getContext( “/ warB”)的getRequestDispatcher( “/注销”);

1 个答案:

答案 0 :(得分:1)

如果将两个war文件部署到同一个WLS服务器,我相信这是默认行为。如果您未在weblogic.xml中配置其他cookie名称,WebLogic会在名为jsessionid的cookie中存储会话ID。因此,如果用户登录war2,war1中的jsessionid cookie将被覆盖,并且不会保留与war1的会话。