Redirect Symfony 2.5-一段时间不活动后自动重定向

Redirect Symfony 2.5-一段时间不活动后自动重定向,redirect,refresh,php-5.6,symfony-2.5,event-listener,Redirect,Refresh,Php 5.6,Symfony 2.5,Event Listener,我有一个Symfony 2.5项目,集成了FOSUserBundle。我希望任何在应用程序上空闲时间为X的已登录用户自动注销并重定向到登录页面 到目前为止,我已经实现了一个解决方案,它与这里建议的非常相似 如果定期重新加载页面不会打扰用户,则元刷新是可以的。这可能是最可靠的。您还可以实现JavaScript/jQuery代码段,如,以便重复ping服务器: setTimeout(checkIdleTime,2000) 在这种情况下,每2000毫秒或每两秒一次 function checkIdle

我有一个Symfony 2.5项目,集成了FOSUserBundle。我希望任何在应用程序上空闲时间为X的已登录用户自动注销并重定向到登录页面

到目前为止,我已经实现了一个解决方案,它与这里建议的非常相似


如果定期重新加载页面不会打扰用户,则元刷新是可以的。这可能是最可靠的。您还可以实现JavaScript/jQuery代码段,如,以便重复ping服务器:

setTimeout(checkIdleTime,2000)

在这种情况下,每
2000
毫秒或每两秒一次

function checkIdleTime() {
    $.get('/idle', function()) {
        // If HTTP_OK response, do nothing, otherwise handle error
    }
}
/idle
URL映射到检查“空闲”的操作。当然,行动将不得不忽略对自身的请求。如果不空闲,则返回success,否则强制注销用户并返回某种错误。处理jQuery响应中的错误;可能一个简单的重定向就可以了:
window.location.href='/login'

从jQuery中查看如何优雅地使用Symfony路由,这样就不必硬编码URL

function checkIdleTime() {
    $.get('/idle', function()) {
        // If HTTP_OK response, do nothing, otherwise handle error
    }
}