Как отследить что авторизованный пользователь онлайн?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Как отследить что авторизованный пользователь онлайн?

Сообщение 1Dmitry »

Пока нечего умного в голову не пришло, разве что, при логине записывать в бд поле ласт_визит и делать выборку - если не прошло 60 сек от текущего временем, то онлайн. Какие еще будут варианты, если пользователь ходит по сайту?
bmahno
Сообщения: 4
Зарегистрирован: 2013.09.30, 23:47

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение bmahno »

Либо сделать javascript и периодически отправлять ajax запрос. Либо устанавливать какую-то переменную в сессии зарегистрированного пользователя и периодически проверять активные сессии.
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение 1Dmitry »

можно второй вариант поподробней?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение anton44eg »

можно в редисе ключ на 5 минут ставить и обновлять при каждом действии
bmahno
Сообщения: 4
Зарегистрирован: 2013.09.30, 23:47

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение bmahno »

я до конца не додумал его. Но как вариант если сделать так. Устанавливаем переменную сессии, устанавливаем ей время жизни, например 60 секунд и проверяем существует она или нет. Хотя это ничем не отличается от вашего варианта с БД. Он даже лучше
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение 1Dmitry »

anton44eg писал(а):можно в редисе ключ на 5 минут ставить и обновлять при каждом действии
а mysql тригером так не получится?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение anton44eg »

судя по всему - можно, но через задницу. и грузить БД будет.
Shotty
Сообщения: 36
Зарегистрирован: 2019.03.02, 19:30

Re: Как отследить что авторизованный пользователь онлайн?

Сообщение Shotty »

поставь в контроллере, чтобы всегда обновлялась строка в БД например, last_asset, и проверяй, если прошло определенное кол-во времени, ставь оффлайн юзеру.
Ответить