我正在使用Auth组件检查用户是否已登录。
这是我的AppController的初始化函数
public function initialize()
{
parent::initialize();
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'username',
'password' => 'password'
],
'passwordHasher' => [
'className' => 'Md5',//My own password hasher
]
]
],
'loginAction' => [
'controller' => 'Dashboard',
'action' => 'login'
]
]);
}
它的工作正常。但如果我保持非活动状态几分钟(如3-5分钟)并转到(点击)链接,它会向我发送登录页面。似乎会话时间已过期。
我可以如何或在哪里增加这段时间。
答案 0 :(得分:28)
Auth组件共享会话类
对于Cakephp3
在config / app.php,我们可以设置超时。
'Session' => [
'defaults' => 'php',
'timeout'=>24*60//in minutes
],
对于Cakephp2
在Config / core.php中
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 31556926 //increase time in seconds
));
答案 1 :(得分:1)
Auth组件共享会话类。对于CakePHP 3,您可以将会话超时设置为config/app.php
,如下所示:
'Session' => [
'defaults' => 'php',
'timeout' => 1440, /*24 hours*/
],