Вожусь с управлением пользователями. Хочется понять. Вот допустим админ удаляет или блокирует пользователя, но пользователь шарится по сайту. Как сделать, чтобы его выкинуло? Т.е. что бы он оказался незалогиненым.
Фактически, как, зная id пользователя, убить его сессию?
Page 1 of 1
Logout другого пользователя
#2
Posted 21 May 2009 - 05:33 AM
Сессию ты не как не убьешь т.к. она генерируется в его браузере.
Тебе надо сделать фильтр в котором будет идти проверка существует ли пользователь с той id которая указана в сессии - в базе в данный момент. И если его не существует или у него в базе установлен флаг del - тогда делать принудительный лагаут.
Тебе надо сделать фильтр в котором будет идти проверка существует ли пользователь с той id которая указана в сессии - в базе в данный момент. И если его не существует или у него в базе установлен флаг del - тогда делать принудительный лагаут.
#3
Posted 21 May 2009 - 05:57 AM
Quote
link=topic=2260.msg12492#msg12492 date=1242902027]Сессию ты не как не убьешь т.к. она генерируется в его браузере.

Quote
link=topic=2260.msg12492#msg12492 date=1242902027]Тебе надо сделать фильтр в котором будет идти проверка существует ли пользователь с той id которая указана в сессии - в базе в данный момент. И если его не существует или у него в базе установлен флаг del - тогда делать принудительный лагаут.
ОхЪ. Я боялся, что будет этот ответ.
#4
Posted 21 May 2009 - 06:13 AM
Я имел ввиду то что индефикатор сесии браузер постоянно в себе держит поэтому даже если ты в темпах грохниш файл который держит этот индефикатор - не факт что браузер раздуплится что его уже нет. (не пробовал). Тоже самое если сесии в куках хранишь у пользователя.
Мне кажется самый оптимальный вариант это хранить сесии в БД (благо Yii это позволяет) и удалять их прямо оттуда. А у юзера просую проверку делать если session_id выданный ему не существует - тогда лагаутить.
Мне кажется самый оптимальный вариант это хранить сесии в БД (благо Yii это позволяет) и удалять их прямо оттуда. А у юзера просую проверку делать если session_id выданный ему не существует - тогда лагаутить.
Share this topic:
Page 1 of 1