1

我的应用程序(例如 App2)在另一个应用程序(例如 App1)上的链接出现问题。

两者都是 Web 应用程序,因此两者都在那里创建自己的 JSESSION ID。链接输出在弹出窗口中打开并且单点登录工作(站点管理员传递 sm 用户 cookie),但是一旦我在链接的应用程序上执行任何事务,我就会被抛出,说明会话超时或无效。

我查看了浏览器上的 cookie,发现两个 JSESSION ID 都存在。唯一的区别在于两个 JSESSION ID 的域范围。App1 应用程序的域范围为 abc.com,而 App2 的域范围为 app2.abc.com

我尝试更改 App2 的 JSESSION ID cookie 的名称,但应用程序无法使用重命名的 JSESSION cookie。

关于如何解决这个问题的任何建议?

注意:App2 的环境是 was5

问候 AVN

4

1 回答 1

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,并且不会相互覆盖。

于 2013-02-08T21:19:39.430 回答