同一个Weblogic两个Domain CookieName冲突导致session失效问题

问题描述:

     同一个weblogic下新建两个domain:bjmmis_domain,report_domain。前者用来部署应用,后者用来部署报表。

在应用中通过redirect方式访问报表,就会出现访问报表后,无法访问应用(session丢失,提示重新登陆)。

 

问题分析:

     访问应用时,会在客户端保留一个名为JsessionID的cookie,记录了 bjmmis_domain的信息,JSessionID为Weblogic   cookie-name的默认值。当访问报表时,客户端Cookie中JSessionID的值被 report_domain刷新,于是再访问应用就会出现session丢失

    查看应用与报表war中的weblogic.xml中的/weblogic-web-app/session-descriptor/节点,发现两者都存在这样的session-param节点:

     <session-param>
      <param-name>CookieName</param-name>
      <param-value>JSESSIONID</param-value>
    </session-param>

 

解决方案:

   修改报表的weblogic.xml中的cookiename定义:

    <session-param>
      <param-name>CookieName</param-name>
      <param-value>JSESSIONID1 </param-value>
    </session-param>

 

 

另外参考http://itindex.net/blog/2010/06/18/1276830937324.html

中的解决方案,也可以采用如下方式:
访问App1时用IP来访问,访问App2时用域名来访问。

 

你可能感兴趣的:(weblogic)