Session 杀死contextA';来自同一weblogic服务器上的contextB的会话

Session 杀死contextA';来自同一weblogic服务器上的contextB的会话,session,weblogic,Session,Weblogic,嗨,我在同一台机器上有两场战争。让我们说“战争”和“战争” 当用户在/warA中时,我在/warB中拥有同一用户的sessionId。我想结束这次会议 我的目标是,如果用户在/warA中,我想检验/warB中的用户会话是否被终止 有人会说,编写一个servlet来终止/warB的会话,然后从/warA调用它 我不能这样做的原因是,/warB前面有一个代理(oracleaccessmanager),它执行身份验证部分,不允许我直接调用warB的servlet 那么,还有其他方法来完成我的工作吗 编

嗨,我在同一台机器上有两场战争。让我们说“战争”和“战争”

当用户在/warA中时,我在/warB中拥有同一用户的sessionId。我想结束这次会议

我的目标是,如果用户在/warA中,我想检验/warB中的用户会话是否被终止

有人会说,编写一个servlet来终止/warB的会话,然后从/warA调用它

我不能这样做的原因是,/warB前面有一个代理(oracleaccessmanager),它执行身份验证部分,不允许我直接调用warB的servlet

那么,还有其他方法来完成我的工作吗

编辑:

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


servletContext.getContext(“/warB”).getRequestDispatcher(“/logout”)

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

Hi。保存jsession id的两个war的cookie名称不同。warA的jsessionid cookie名称为jsessionidforwara,warB的jsessionid cookie名称为jsessionidforwarb。我以前从weblogic.xml配置过它们。所以我想这应该行得通:)