0

我正在为我的 Web 应用程序使用 Spring-ROO 以及 Spring 安全性。我已将会话超时设置为 10。关闭浏览器时,会话不会自动关闭。当浏览器关闭时,谁能告诉任何方法来关闭会话?

是否有任何配置可以进行此设置?

请注意,我不能使用 jquery/javascript。

4

1 回答 1

4

我认为这是不可能的,因为不存在 OnBrowserClosed 事件。唯一接近的是window.onunload您可以捕获的非标准 DOM 事件,但这意味着每当您从一个页面导航到另一个页面时都会运行自定义逻辑,即使那样我认为您也无法访问 URL用户将前往下一个,这需要知道用户实际上正在离开您的网站(这null意味着他根本没有去任何网站)。

有人认为您可以做的是将超时设置得更短,并在每个页面上都有一个 JavaScript,它使用 AJAX 定期短时间地 ping 服务器,但这是一个肮脏的 hack,它会锁定任何关闭 JS 的人。恕我直言,不可能有一个干净的解决方案。

于 2012-07-09T09:45:57.153 回答