为什么从多个选项卡注销后会生成不同的会话ID?

时间:2015-10-23 06:34:58

标签: java authentication spring-security csrf session-management

我在我的应用程序中使用Spring安全性。我刚刚遇到一个非常具体的问题。当我使用多个选项卡时,如果我按顺序从所有选项卡中注销。每个页面都有新的sessionid值(fiddler显示每个登录页面请求的新会话ID)。这导致问题,因为只有最新的登录页面工作,而所有其他页面显示sessionid不匹配错误。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

当您注销时,服务器将终止您当前的会话,并创建一个新会话。这个新会话当然由不同的sessionid表示。

因此,第二次点击退出链接时,您会看到一个带有新sessionid的登录页面。

如果您要刷新第一个选项卡,则在注销第二个选项卡后,您可能拥有正确的sessionid,并能够从那里登录。