如何增加cakephp Auth组件会话到期时间

Sha*_*lam 9 php cakephp cakephp-3.0

我正在使用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'
        ]
    ]);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.但如果我保持非活动状态几分钟(如3-5分钟)并转到(点击)链接,它会发送给我登录页面.似乎会话时间已到期.

如何或在哪里我可以增加这个时间.

Dey*_*son 29

Auth组件共享Session类

对于Cakephp3

在config/app.php,我们可以设置超时.

'Session' => [
    'defaults' => 'php',        
    'timeout'=>24*60//in minutes
],
Run Code Online (Sandbox Code Playgroud)

对于Cakephp2

在您的Config/core.php中

Configure::write('Session', array(
    'defaults' => 'php',
    'timeout' => 31556926 //increase time in seconds
));
Run Code Online (Sandbox Code Playgroud)