在我的网络应用程序中,是基于注释的 Controller (SPRING MVC)。我想在我的应用程序中实现 SessionManagement
1.) 应用程序中的任何页面都不应闲置 15 分钟
2.) 应在第 10 分钟打开弹出窗口(类似通知),以通知用户 abt session 到期,并应为他提供将 session 延长到另外 15 分钟的选项,或者默认情况下应用程序应记录-关闭
我相信在 spring MVC 中一定有一个简单的方法(我使用 spring 3.1)。可以这么说,必须有某种方法来注释 applicationContext.xml 中的 Controller 或某些配置。一定有什么办法! friend 们,请帮助我建议一种方法,如果您在此处粘贴任何示例也会有很大帮助。如果您能逐步指导我进行此 sessionManagement 实现,也会有很大帮助。
最佳答案
Spring MVC 在这里几乎没有什么用处。假设您将 session 超时设置为 15 分钟。只需将以下 JavaScript 代码放置在网站的每个页面上,并在页面加载后运行它:
function expireWarning() {
if(confirm("Your session will expire in 5 minutes, extend?")) {
$.ajax('/echo/json/');
setTimeout(expireWarning, 10 * 60 * 1000);
}
}
setTimeout(expireWarning, 10 * 60 * 1000);
就是这样! 10 分钟后将出现弹出窗口。如果用户确认,AJAX请求将发送到服务器,自动延长 session 。然后,计数器会重新安排时间,在 10 分钟后询问用户。
请注意,服务器上的 AJAX 目标不必执行任何操作。此调用的唯一目的是告诉容器用户仍在使用此 session token 。
另一个提示:如果您的站点已经在使用 AJAX,则必须在每次调用后重新安排超时,因为每个 AJAX 调用也会延长 session 时间。如果用户停留在网站上并触发大量 AJAX 调用, session 就会自动一次又一次地延长。
关于Spring 3.1 MVC框架 session 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824790/