@timehollyname

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

Добрый вечер, начал изучать Yii и появился вопрос, т.к я только начал изучать Yii, сначала проект делаю для себя, чисто тест. И хочу реализовать такую идею, хранить каждый вход пользователя в базе данных и отображать список в личном кабинете с возможностью разлогинить вход. Например в личном кабинете отображается 3 входа:

1. Ip -> User-Agent -> DateTime
2. Ip -> User-Agent -> DateTime
3. Ip -> User-Agent -> DateTime

И мне нужно разлогинить вход с id например 2. Как это сделать ?) На данный момент при авторизации можно выбрать чекбокс "Запомнить меня", то есть вход хранить в куках. Получается, если хранить сессию пользователя в базе данных и удалять сессию, то таким образом мы не разлогиним пользователя, т.к есть еще куки и с помощью куков сессия просто восстановится, как тут быть ? Так-же у пользователя есть метод: findIdentity, но и тут я не могу отфильтровать записи, т.к в метод передается ID пользователя, для фильтрации как минимум надо передавать еще 1 параметр, чтобы искать авторизацию в другой таблице...

Где и как можно переопределить авторизацию пользователя по кукам? Насколько я знаю, есть еще сигналы on BeforeRequest, но стоит ли писать логику там ? Заранее извиняюсь, если вопрос максимально простой, но все же хочется в этом разобраться)

UPD: Я видимо разобрался как это реализовать, надеюсь получится.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@timehollyname Автор вопроса
Так, можно конечно еще в методе validateAuthKey искать ключ в другой таблице, тут уже хоть какое то продвижение получается, но есть же еще метод getAuthKey, а таких ключей может быть несколько, как вернуть нужный ключ :(
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы