在春季安全应用程序中覆盖会话



在 Spring 安全应用程序中,我导航到登录页面并输入我的凭据并登录。现在,如果我在同一浏览器中打开一个新选项卡并导航到登录 URL,它会显示登录页面。如果我输入其他用户凭据并登录,我以前的 Jsession ID(即:在上一个选项卡中创建的 ID(将被新的 jsession ID 覆盖。刷新上一个选项卡后,会话将被覆盖。

我想实现这一点,如果用户已经在应用程序中登录,在同一浏览器的另一个选项卡中再次导航到 url 时,应用程序的主页应该打开。 请告诉我如何做到这一点?

由于服务器使用 cookie 映射到当前会话,因此您必须控制浏览器发送 cookie 的方式。每次从新选项卡向网站发送请求时,大多数浏览器都会发送该域的所有 cookie。由于您的服务器收到相同的会话 cookie,因此它会将此请求视为在同一会话中。它无法区分。

因此,至少就基于 cookie 的网络会话而言,您可能无法在打开新选项卡时强制创建新会话。

最新更新