嗨我在同一台机器上有2场战争。让我们说warA和warB。
当用户在/ warA中时,我在/ warB中拥有同一用户的sessionId。我想要杀掉这个会议。
我的目标是,如果用户在/ warA,我想要保证/ warB中的用户会话被杀死。
有些人可以说编写一个杀死/ warB会话并从/ warA调用它的servlet。
我不能这样做的原因是,/ warB前面有一个代理(Oracle Access Manager)执行身份验证部分,不要让我直接调用warB的servlet。
还有其他方法可以完成我的工作吗?
编辑:
我找到了这个。 OAM代理是否违反了此请求?它是一个简单的请求还是上下文之间的请求?servletContext.getContext( “/ warB”)的getRequestDispatcher( “/注销”);
答案 0 :(得分:1)
如果将两个war文件部署到同一个WLS服务器,我相信这是默认行为。如果您未在weblogic.xml
中配置其他cookie名称,WebLogic会在名为jsessionid的cookie中存储会话ID。因此,如果用户登录war2,war1中的jsessionid cookie将被覆盖,并且不会保留与war1的会话。