使用CakePHP防止ajax调用更新会话超时

使用CakePHP防止ajax调用更新会话超时,cakephp,cakephp-2.7,Cakephp,Cakephp 2.7,我在JavaScript中使用了这种长池: setInterval(demo, 3000); function demo(){ $.get(url, params, function(data){ //whatever }); } 是返回JSON的CakePHP控制器操作的url 但是我希望我的会话只持续20分钟,因为用户在屏幕上的最后一个操作。这就是,忽略每30秒发生一次的池。 否则,会议将永远持续下去 有什么解决办法吗?存储请求发生时会话中的最后登录时间,

我在JavaScript中使用了这种长池:

setInterval(demo, 3000);

function demo(){
    $.get(url, params, function(data){
        //whatever
    });
}
是返回JSON的CakePHP控制器操作的url

但是我希望我的会话只持续20分钟,因为用户在屏幕上的最后一个操作。这就是,忽略每30秒发生一次的池。 否则,会议将永远持续下去


有什么解决办法吗?

存储请求发生时会话中的最后登录时间,并将其与请求发出时的当前时间进行比较。如果当前时间大于上次登录时间+20分钟,请调用。

请在beforeFilter功能中使用此应用程序内控制器

if(!$this->request->is('ajax')){
             $LastActivity = $this->Session->read('LastActivity');
             if ($LastActivity != '' && (time() - $LastActivity) > 1200) {//for 20 minute
                $this->Auth->logout();
                $this->redirect('/');
            }
             $this->Session->write('LastActivity', time());
            }
使用Cake3或Cake2标签。在两个版本中都添加一个问题没有多大意义。这是3.x版的,但在2.x版中是相同的概念,所以。。。