0

我正在使用 spring-security 和 tomcat 6

我有两个应用程序AB它们在同一台服务器上运行。我有一个我无法解决的情况。

当我登录A应用程序时,JSESSION会采用一个新值,例如v-a.
(这可能无关紧要,但也可能很好:因为我使用的是 spring security 并且我已经启用了会话迁移,所以每次我请求索引页面时,都会分配一个新值JSESSIONID

然后我要求B申请。请求带有JESSIONID = v-a,并且JSESSIONID采用新值,例如v-b。(很可能是由于会话迁移,旧值被新值替换)。

现在,当我想使用A应用程序时,请求与JESSIONID = v-b!这意味着这两个应用程序正在使用同一个会话?令人讨厌的是,我被第一个应用程序抛弃了,不得不重新登录......

只有当他们都使用相同的 IP 时才会发生这种情况。我已经用不同的 IP 登录了相同的两个应用程序,没有问题。

任何帮助,将不胜感激。如果您需要更多信息,请告诉我。

4

1 回答 1

2

这是完整的详细信息:

应用程序A使用localhost:8080/dtts/dtts/a
应用程序B使用localhost:8080/dtts/dtts/b

为每URL/Path一个带有名称的 cookieJSESSIONID设置。对于这两个应用程序,我们都有:
URL:localhost
路径:dtts(其余的被忽略)

这就是为什么第二个 cookie 取代了第一个。问题解决了。

于 2013-05-28T12:41:04.163 回答