0

嗨,我在同一台机器上有 2 场战争。比方说warA和warB。

当用户在 /warA 中时,我在 /warB 中有同一用户的 sessionId。我想终止这个会话。

我的目标是如果 /warA 中的用户,我想确定 /warB 中的用户会话被杀死。

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

我不能这样做的原因是,/warB 前面有一个代理(Oracle 访问管理器),它执行身份验证部分并且不让我直接调用 warB 的 servlet。

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

编辑:

我找到了这个。OAM 代理是否会中断此请求?是简单的请求还是上下文之间的请求?

servletContext.getContext("/warB").getRequestDispatcher("/logout");

4

1 回答 1

1

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

于 2013-03-05T19:39:57.653 回答