Проверка на бан
-
- Сообщения: 87
- Зарегистрирован: 2014.04.18, 14:21
Проверка на бан
Всем привет! Подскажите как сделать такую штуку. Есть функционал бана у админа. Если забаненый пользователь не залогинен, то при логине ему выкинет сообщение том что он забанен. Но если он залогинен, и его забанили нужно его разлогинивать. Подскажите пожалуйста как сделать
Re: Проверка на бан
зачем? давать ему доступ только на страницу с сообщением о бане. Иначе он не увидит никакого сообщенияVindective писал(а):Но если он залогинен, и его забанили нужно его разлогинивать.
-
- Сообщения: 87
- Зарегистрирован: 2014.04.18, 14:21
Re: Проверка на бан
Подскажите как сделатьzelenin писал(а):зачем? давать ему доступ только на страницу с сообщением о бане. Иначе он не увидит никакого сообщения
Re: Проверка на бан
Лично я ничё не понял. Поколение пепси уверенно вошло в разработку и делает нашу жизнь интереснее...
Re: Проверка на бан
давайте разговаривать научитесь, потом программировать.Vindective писал(а):Подскажите как сделатьzelenin писал(а):зачем? давать ему доступ только на страницу с сообщением о бане. Иначе он не увидит никакого сообщения
Re: Проверка на бан
Если используете роли, то можно сделать роль "Ограниченный пользователь" и через AccessControl оставить некоторые доступы для таких пользователей (например: контактная связь с админом, ....).
Если ролей нет как таковых, то можно просто:
Если все же решать задачу прямо так, как поставлена, то надо при изменении статуса на "бан" перегенерировать Токен пользователя хранящийся в базе данных.
Если ролей нет как таковых, то можно просто:
Код: Выделить всё
if (Yii::$app->getUser()->getIdentity()->status === User::status_banned) {
return $this->redirect ('ban_page');
}
Re: Проверка на бан
Как по-вашему работает этот токен? Мне вот кажется, что после его регенерации ровным счётом ничего не произойдёт на стороне залогиненого пользователя. Ошибаюсь? (:YunX писал(а):Если все же решать задачу прямо так, как поставлена, то надо при изменении статуса на "бан" перегенерировать Токен пользователя хранящийся в базе данных.
Re: Проверка на бан
Сорян, не токен а ключ (-ключи) сессии, хранящийся в базе данных.rugabarbo писал(а):Как по-вашему работает этот токен? Мне вот кажется, что после его регенерации ровным счётом ничего не произойдёт на стороне залогиненого пользователя. Ошибаюсь? (:YunX писал(а):Если все же решать задачу прямо так, как поставлена, то надо при изменении статуса на "бан" перегенерировать Токен пользователя хранящийся в базе данных.
Подразумевая, что они там ведутся и есть проверка ключа с кукисами пользователя где-то на уровне beforeAction
Re: Проверка на бан
я прошу прощения, а метода logout() в yii2 нет?)
-
- Сообщения: 87
- Зарегистрирован: 2014.04.18, 14:21
Re: Проверка на бан
Нет, т.к. использую эту моделиzelenin писал(а):я прошу прощения, а метода logout() в yii2 нет?)
-
- Сообщения: 610
- Зарегистрирован: 2015.07.16, 10:50
Re: Проверка на бан
попробуйтеVindective писал(а): Нет, т.к. использую эту модели
Код: Выделить всё
Yii::$app->getUser()->logout()
Re: Проверка на бан
А это что тогда?Vindective писал(а):Нет, т.к. использую эту моделиzelenin писал(а):я прошу прощения, а метода logout() в yii2 нет?)
https://github.com/yiisoft/yii2/blob/ma ... r.php#L322