Grails:如果 session 有时空闲,则触发任何操作

标签 grails

如何触发任何 Action ,当 session [ 1 ] 在特定时间(例如:10 分钟)处于空闲状态。

我正在使用 Grails 做一个 Web 应用程序。如果系统空闲了一段时间,我需要持有一些特定的任务。系统空闲时是否可以触发任何操作?

注:我不是在问 session 超时。默认情况下,如果 session 空闲 30 分钟,它应该注销。

[ 1 ] : 这里的session在sense System中。我的 Web 应用程序托管在一台服务器上,许多用户可以访问该应用程序。如果某个用户的系统空闲了一段时间,那么我需要保留该特定用户的任务。我怎样才能做到这一点?

最佳答案

根据 HTTP 请求-响应模式的性质,您无法根据用户(非)交互触发任何服务器端任务。

您可以使用 JavaScript 在客户端“观看”用户 session ,并在客户端和/或服务器端触发任何任务。我用过jQuery idleTimer检测用户是否处于事件状态。

使用此插件,您可以绑定(bind)到多个事件以检测用户的空闲和重新激活。如果触发了空闲事件,您可以执行 AJAX 调用来触发任何服务器端任务,如下所示:

$.idleTimer(10000);

$(document).bind("idle.idleTimer", function(){
    // function you want to fire when the user goes idle (e.g. do an AJAX call)

    $.post('${yourActionURL}', function(data) {
        // handle response
    });
});

希望有帮助!

关于Grails:如果 session 有时空闲,则触发任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454740/

相关文章:

javascript - 在 Grails 中将模型传递到添加到 DOM 弹出窗口

grails - grails ListView 查看行的奇/偶类名

grails - GORM:设计域类

validation - 如何使用模式选项来验证Grails中的电话号码<g:field type = text

grails - request.getFile无法解析符号

spring - Grails Spring Security Core插件无法正常工作

grails - 使用 grails 导出插件的电子邮件文件

Grails 安全登录设计问题以及库和数据库选择

grails - Groovy动态对象-如何正确重置属性?

version-control - 特定于插件的grails和版本控制