在过去的几个小时里,我一直在尝试在登录屏幕上实现“记住我”选项,但没有成功。有人能给我一点帮助吗? = 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的默认身份验证组件。有人能告诉我我做错了什么,我该怎么办?提前致谢;]
答案 0 :(得分:2)
我不知道有任何与你接近它的方式这样做。 PHP会话超时长度是在PHP.ini中在session.gc_maxlifetime。
下定义的服务器范围设置我个人会这样做的方法是覆盖你正在使用的会话处理程序,而不是使用PHPSESSID cookie,创建自己的cookie,你可以控制cookie的到期时间。然后,这可以保存一个自定义的会话ID,然后您可以选择覆盖的会话处理程序并用于对用户进行身份验证。
CakePHP不是我太熟悉的东西所以我不能在集成方面给你太多建议。