我的应用程序(比如App2)在另一个应用程序(比如App1)上的链接有问题。
两者都是Web应用程序,因此两者都在创建自己的JSESSION ID。链接在弹出窗口打开并且单点登录工作(siteminder传递sm用户cookie),但是一旦我在链接的应用程序上执行任何事务,我就会被抛出,说明会话超时或无效。
我查看了浏览器上显示的cookie,发现两个JSESSION ID都存在。唯一的区别在于两个JSESSION ID的域范围。 App1应用程序的域范围为abc.com,而App2具有app2.abc.com
我尝试更改App2的JSESSION ID cookie的名称,但该应用程序无法使用重命名的JSESSION cookie。
有关如何解决此问题的任何建议?
注意:App2的环境是was5
此致 AVN
答案 0 :(得分:0)
您应该在config.xml中使用不同的cookie名称。更改任何一个应用程序以使用除JSESSIONID之外的其他cookie名称。跟随之类的东西。
War:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<session-descriptor>
<cookie-name>APP1SESSIONID </cookie-name>
</session-descriptor>
</weblogic-web-app>
Ear:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<session-descriptor>
<cookie-name>APP1SESSIONID </cookie-name>
</session-descriptor>
</weblogic-application>
现在你将拥有两个cookie,它们不会互相覆盖。