0

我试图了解 JSessionId 的唯一性和范围,因为它涉及多个不相关的域。

我读过在什么条件下创建 JSESSIONID?,还有一些问题——

具体来说:

如果用户访问www.app1.com,并且该应用程序调用www.app2.com加载数据,是否创建了两个 jsessionId - 每个域一个?

同样,当调用到 时www.app2.com,是否传递了有关 jsessionid 的任何信息www.app1.com

重定向对此有何影响?(例如,请求http://app1.com/login.jsp重定向到http://app2.com/login.jsp

4

2 回答 2

2

如果用户访问 www.app1.com,并且该应用程序调用 www.app2.com 以加载数据,是否会创建两个 jsessionId - 每个域一个?

是的。更准确地说,每个单独的 WebApp 都会为其域发布自己的 cookie。因此,如果映射了不同的 webapp,www.app1.com/1 和 www.app1.com/2 将具有不同的 cookie。

同样,当呼叫转到 www.app2.com 时,是否传递了来自 www.app1.com 的 jsessionid 的任何信息?

不,但请阅读有关 XSS 和 CSRF 的内容,了解为什么保护您的应用程序是好的,因为注入将您的 cookie 传递到另一个 url 的脚本并不难。

重定向对此有何影响?(例如,请求 http://app1.com/login.jsp重定向到http://app2.com/login.jsp

没有任何。如果您碰巧已经登录了两者,那么您可能会在之后登录。注销一个不会影响另一个。(如果您想要真正的单点登录/单点注销,则两个应用程序都必须信任第三方,例如 CAS 服务器或 Kerberos 服务器)。

于 2011-06-22T01:21:19.557 回答
1

JSESSIONID是会话cookie。此 cookie 有一个domain集合,因此在您的情况下,您将有 2 个 cookie,它们的属性JSESSIONID中都使用不同的路径调用。domain

于 2011-06-22T01:21:16.860 回答