【发布时间】:2014-02-17 16:04:47
【问题描述】:
我在 Jetty 上有一个 GWT 应用程序。配置不同的访问端口等后,用户可以在同一台服务器机器上多次启动该应用程序(例如2次)。我们注意到,当从同一个浏览器访问这两个不同的实例时,它们会相互干扰,例如,一个会踢出另一个会话。
如果从不同的浏览器访问,例如,ie和firefox或chrome,没有问题。
当然,如果两个应用程序在不同的服务器上运行,也没有问题。
以前有人见过同样的行为吗?如何解决这个问题?
【问题讨论】:
-
“踢出其他会话”是什么意思?
-
当 user1 登录到第一个实例时,在 user2 登录到第二个实例后,user1 会话将被注销到登录页面。我刚刚发现我的问题和stackoverflow.com/questions/19566072/…几乎一样
-
您使用什么身份验证?一个会话不会杀死另一个会话,除非您在代码中的某个地方故意这样做。
-
调试了一下,到 instance1 的连接有一个名为 JSESSIONID 的 cookie;与 instance2 的第二个连接将有一个名称相同但值不同的 cookie。从浏览器的角度来看,它将清除之前的 cookie,并从本质上注销第一个 cookie。我不知道如何控制 cookie 名称。有可能吗?
-
如果更改名称,所有 RPC 调用都将失败。 XsrfTokenServiceUtil 出于安全目的使用此 cookie。
标签: gwt browser rpc gwt-rpc gwt2