如何让用户会话比其他会话更长?

时间:2013-09-24 18:39:19

标签: php session cakephp

在过去的几个小时里,我一直在尝试在登录屏幕上实现“记住我”选项,但没有成功。有人能给我一点帮助吗? = D

我在apache2 / mysql 5.5 / ubuntu 12.10服务器上使用cakephp 2.3.9。 在“login()”方法中,在我的用户控制器中,我添加了代码:

if ($this->Auth->login()) {
 if($this->request->data('Usuario.remember')==="1"){
  CakeSession::write('Session.timeout', '144000');//100 dias
 }
 return $this->redirect($this->Auth->redirect());
}

我希望它会使特定的用户会话比平常更大,但它似乎应用于所有用户。我正在使用cakephp的默认身份验证组件。有人能告诉我我做错了什么,我该怎么办?提前致谢;]

1 个答案:

答案 0 :(得分:2)

我不知道有任何与你接近它的方式这样做。 PHP会话超时长度是在PHP.ini中在session.gc_maxlifetime。

下定义的服务器范围设置

我个人会这样做的方法是覆盖你正在使用的会话处理程序,而不是使用PHPSESSID cookie,创建自己的cookie,你可以控制cookie的到期时间。然后,这可以保存一个自定义的会话ID,然后您可以选择覆盖的会话处理程序并用于对用户进行身份验证。

CakePHP不是我太熟悉的东西所以我不能在集成方面给你太多建议。