【问题标题】:Multiple sessions possible per user每个用户可以进行多个会话
【发布时间】:2011-04-24 01:39:16
【问题描述】:

如果用户同时打开 2 个网页,他们将创建 2 个会话。

通常这无关紧要,但在尝试按照persistent login cookie best practices 中的建议旋转 cookie 令牌时,它确实会导致记住我功能的问题。在同时打开两个会话的情况下,似乎无法正确轮换两个 cookie。

我该如何解决这个问题?

我使用 Tomcat 和 Struts 1,但我认为这是独立于框架的。

【问题讨论】:

  • 用户真的有两个会话吗?他应该为每个站点只有一个 cookie,以便两个会话中的一个会破坏另一个会话。如果您希望同一用户在同一浏览器中拥有多个会话,则不能为此使用 cookie。
  • @Thilo,我不希望用户获得 2 个会话,但如果他同时在 2 个页面上进入网站,他们将创建 2 个会话(每个初始请求都没有会话 cookie,因此响应将提供 2 个不同的新会话 ID)。
  • 是的,但不会使用第一个会话,对吗?所有后续页面访问都将使用第二个会话 ID。

标签: java http authentication session cookies


【解决方案1】:

扩展@Thilo 回答他是正确的,任何后续访问其他页面都将跟随发送该域的cookie。例如,打开 gmail,登录,然后在其他选项卡或窗口中打开 gmail,它会发送该域的 cookie。由于 cookie 保存任何后续请求的会话信息,因此只会更改会话 ID/值。 您可以使用 firebug 及其扩展 fire-cookie 来检查它。 关于避免您指定的链接中所说的记住我问题的问题,更多的是设计问题作为您如何处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2011-08-29
    • 2021-11-10
    • 2021-04-09
    • 1970-01-01
    • 2011-07-25
    相关资源
    最近更新 更多