同一个IP不同端口,两个应用的session会冲突,如何解决
应用A部署在localhost:7001中
应用B部署在localhost:7003中
在A的一个页面iframe中访问B的页面,再点A菜单上的一个链接,结果跳到A登陆页面。
原因是A的session被覆盖了,因为访问B时,weblogic(或ie?)认为是同一个域,接收了B的set-cookie指令,把对应的cookie内容覆盖了,其中包括jsessionid,造成A的session丢失。
如果IP不同,则不会发生这个问题,因为weblogic(或ie?)会为不同的IP分配不同的cookie空间,而不区分端口号。
IP是不能换了,有什么办法吗?
------解决方案--------------------莫非用的是CAS。。。。。
------解决方案--------------------我觉得登录要专门放到一个服务器的,因为要做集中授权,还是分开吧,别在一个容器里
------解决方案--------------------
都已经做好定下来了,改不了
------解决方案--------------------典型的串门。。
------解决方案--------------------通过设置weblogic.xml中cookie-name为不同名称解决
------解决方案--------------------设置各个应用使用不同的cookie-name,或者将JSESSIONID的path路径设置为不同
1)weblogic的设置(设置不同的cookie-name):
请在WEB-INF\Weblogic.xml添加如下代码
<session-descriptor>
<cookie-name>JSESSIONID1</cookie-name>
</session-descriptor>