weblogic下同域不同端口下的跨域问题解决

 

环境:同一台服务器,同一个Weblogic应用程序,分别建两个域,两个域IP一样,端口不同.一个域里放Web应用A,一个放Web应用B.

操作:用户访问A程序的时候,A程序会返回一个链接,让用户去访问B.

问题:当用户成功访问到A给出的链接之后,与A的Session就丢失了

解决方法:

在A或B的WebInfo下建一个weblogic.xml,里面添加如下配置:
通过在weblogic.xml中进行如下设置后,问题解决。

  1. <session-descriptor>  
  2.  <session-param>  
  3.  <param-name>CookieName</param-name>  
  4.  <param-value>TS</param-value>  
  5.  </session-param>  
  6.  </session-descriptor>  


【问题分析】
同一个Server ServerName = Server01,同一个Weblogic,分别建立两个Domain,Domain01(port-8018)和Domain02(port-8008),将应用App1部署在Domain01,将应用App2部署在Domain02,同时启动这两个Domain,如果完全是默认配置,单独访问两个应用是没有问题的,但是在同一个客户端如果访问App1之后再访问APP2会发现App1的Session丢失。
客户端在访问App1时,Domain01会在该客户端保留一个名为 JSessionID的Cookie,记录了Domain01的信息,JSessionID为Weblogic cookie-name的默认值,当同一个客户端访问App2时,该客户端Cookie中JSessionID的值被Domain02刷新,此时如果在之前已经打开的IE中继续访问App1会发现Session丢失(JSessionID已经被Domain02刷新!)。

原文地址:https://www.cnblogs.com/twodog/p/12137730.html