Symfony会话最后请求时间

时间:2012-12-05 10:44:36

标签: php symfony-1.4

是否可以进行操作(更具体地说,'ajax / heartbeat')不更新会话的上次请求时间?

它用于获取通知等,因此不应更新会话超时或永不过期。

如果用户正在页面上做某事(onmousemove),我设置了update=true其他update=false

1 个答案:

答案 0 :(得分:1)

好吧,你将不得不挂钩Symfony的用户库。

在用户库初始化期间更新

lastRequest(即:inside sfBasicSecurityUser)。

app/[appname]/lib/myUser.class.php内,扩展此initialize功能以不设置请求时间。像那样丑陋的东西:

public function initialize(sfEventDispatcher $dispatcher, sfStorage $storage, $options = array())
{
  $lastRequest = $this->getLastRequestTime();

  parent::initialize($dispatcher, $storage, $options);

  if (condition)
  {
    $this->lastRequest = $lastRequest;
  }
}

您需要找到的唯一事情是,如何从myUser lib中捕获模块/操作,然后将其放在condition中。