Тайм-аут сессии в Yii2

Я использовал встроенную функцию yii2 для установки сессии. Я не могу использовать встроенный логин yii2 из-за некоторых требований.

Итак, я установил сессию, используя ниже:

Yii :: $ app-> session-> set («уникальный_код», «xxxx»);

и в моем файле config / main.php

'session' => [
// this is the name of the session cookie used for login on the frontend
'name' => 'project-frontend',
'timeout' => 60*60*24*30,
],

Но все же пользователь вышел из веб-сайта через некоторое время.

Так как же увеличить время ожидания сеанса в этом случае?

0

Решение

Я предложу вам, что если вы хотите уничтожить только конкретную сессию, установите две сессии:

Yii::$app->session->set('unique_code', 'xxxx');
Yii::$app->session->set('code_time', 'xxxx');

Проверьте текущее время с code_time, как только оно закончится, сбросьте обе сессии.

если вы хотите, чтобы пользователь через некоторое время вышел из системы с текущим решением:

'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => false,
'authTimeout' => 3600, // auth expire
],'session' => [
'class' => 'yii\web\Session',
'cookieParams' => ['httponly' => true, 'lifetime' => 3600 * 4],
'timeout' => 3600*4, //session expire
'useCookies' => true,
],
4

Другие решения

Проблема в том, что в куки истекает время. Когда время истекло, пользователь выходит из системы.
Решение для изменения срока действия файлов cookie находится в конфигурации для компонента сеанса, установленного для срока действия файлов cookie:

    'components' => [
'session' => [
'class' => 'yii\web\Session',
'cookieParams' => ['lifetime' => 7 * 24 *60 * 60]
],
]

Когда пользователь входит в систему, срок действия файлов cookie в текущем примере истекает через неделю.

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector