Вожусь с управлением пользователями. Хочется понять. Вот допустим админ удаляет или блокирует пользователя, но пользователь шарится по сайту. Как сделать, чтобы его выкинуло? Т.е. что бы он оказался незалогиненым.
Фактически, как, зная id пользователя, убить его сессию?
Сессию ты не как не убьешь т.к. она генерируется в его браузере.
Тебе надо сделать фильтр в котором будет идти проверка существует ли пользователь с той id которая указана в сессии - в базе в данный момент. И если его не существует или у него в базе установлен флаг del - тогда делать принудительный лагаут.
link=topic=2260.msg12492#msg12492 date=1242902027]Сессию ты не как не убьешь т.к. она генерируется в его браузере.
Разве php сессии не хранятся во временном каталоге на сервере? Иначе было бы слишком просто поломать.
Quote
link=topic=2260.msg12492#msg12492 date=1242902027]Тебе надо сделать фильтр в котором будет идти проверка существует ли пользователь с той id которая указана в сессии - в базе в данный момент. И если его не существует или у него в базе установлен флаг del - тогда делать принудительный лагаут.
Я имел ввиду то что индефикатор сесии браузер постоянно в себе держит поэтому даже если ты в темпах грохниш файл который держит этот индефикатор - не факт что браузер раздуплится что его уже нет. (не пробовал). Тоже самое если сесии в куках хранишь у пользователя.
Мне кажется самый оптимальный вариант это хранить сесии в БД (благо Yii это позволяет) и удалять их прямо оттуда. А у юзера просую проверку делать если session_id выданный ему не существует - тогда лагаутить.