Я использую компонент 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 минут) и перейдите (нажмите) к ссылке, она отправит мне страницу входа. Кажется, время сеанса истекло.
Как и где я могу увеличить это время.
Доля компонента 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 ));
Компонент Auth разделяет класс сеанса. Для CakePHP 3 вы можете установить тайм-аут сеанса в config/app.php
как config/app.php
ниже:
'Session' => [ 'defaults' => 'php', 'timeout' => 1440, /*24 hours*/ ],