Как проверить залогин ли пользователь?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
myks1992@mail.ru
Сообщения: 137
Зарегистрирован: 2017.11.15, 23:54

Как проверить залогин ли пользователь?

Сообщение myks1992@mail.ru » 2019.11.16, 20:27

Всем привет. Необходимо сделать историю посещений: вход/ выход. Зашёл во столько, вышел во столько. Однако на сайте используется вход на основе кук и сессий. Если логику посещений сделать явно контроллере, то работать будет только при явном входе и выходе. Это не совсем подходит. Так как впемяжизни кук может быть 30 дней. Ещё нашел событие beforeLogin.

Как я понял оно работает всегда при логине через куки и сесии. Возможно навесить на него свой код. Но как быть с логаут? Он разлогиниться только через 30 дней. Вижу единственный вариант при каждом запросе записывать активность в базу при обращении к страницам.

Как лучше сделать Учет рабочего времени?

yiiliveext
Сообщения: 534
Зарегистрирован: 2019.08.13, 01:49

Re: Как проверить залогин ли пользователь?

Сообщение yiiliveext » 2019.11.17, 03:38

Еще есть событие явного логаута EVENT_AFTER_LOGOUT. Для остального используете таймаут активности. В EVENT_BEFORE_LOGIN обновляете последню активность, если был неактивен, скажем, в течение часа, то при записываете время выхода как время активности плюс один час.


Ответить