Spring security Spring boot-如何在浏览器关闭或所有选项卡关闭时终止会话,但不在单个选项卡关闭时终止会话

Spring security Spring boot-如何在浏览器关闭或所有选项卡关闭时终止会话,但不在单个选项卡关闭时终止会话,spring-security,Spring Security,我到目前为止所做的事 1) 限制用户多次登录。(使用Spring引导安全性) 提供的会话超时为30分钟(必需) 2) 关闭浏览器时终止/失效会话。(使用main.jsp中的beforeunload事件) })) 什么问题? 我的spring boot应用程序支持多个选项卡,因为一个页面提供了在另一个选项卡中打开另一个页面的链接。 当我从打开的选项卡中关闭任何选项卡时,会话将被终止 如何处理以下情况 1) 是否仅在浏览器关闭事件上终止会话 2) 不是在关闭的选项卡上终止会话,而是在最后一个选项卡上

我到目前为止所做的事

1) 限制用户多次登录。(使用Spring引导安全性) 提供的会话超时为30分钟(必需)

2) 关闭浏览器时终止/失效会话。(使用main.jsp中的beforeunload事件)

}))

什么问题?

我的spring boot应用程序支持多个选项卡,因为一个页面提供了在另一个选项卡中打开另一个页面的链接。 当我从打开的选项卡中关闭任何选项卡时,会话将被终止

如何处理以下情况

1) 是否仅在浏览器关闭事件上终止会话

2) 不是在关闭的选项卡上终止会话,而是在最后一个选项卡上终止会话

3) 如果打开另一个浏览器窗口,则不会终止会话。因为会话仍然可以从该浏览器访问

目标是什么
限制用户多次登录,在浏览器关闭-所有选项卡关闭-最后一个选项卡关闭(即浏览器关闭)时终止会话。

这是一个坏主意/设计。您无法确定客户端会话是否正在结束并依赖该服务器端。让服务器/Spring框架完成它的工作,不要试图从客户端控制服务器会话。@Adam,谢谢你的建议,但是如何在浏览器突然关闭时从会话注册表中清除会话…在这种情况下,会话从浏览器中清除,而不是从会话注册表中清除,用户“已经登录”如果他试图在30分钟内登录,则发送消息。(会话超时)@Raj您是否找到了此问题的解决方案。尚未@KelvinMuia
$(window).on('beforeunload', function() {
Utils.ajaxCall('GET', "/logout", '', '', '', false);