Вопрос такой:
Есть RBAC у пользователя есть статусы - PENDING, APPROVED, ACTIVE.
статусы к ролям не имею отношения.
Роль назначается на стадии PENDING или APPROVED.
Как правильно и где можно проверить доп. параметр доступа.
Т.е. большинство действий возможные в соответствию с ролью , естественно доступны, только при статусе ACTIVE -
Проверять в каждом action не хотелось бы.
Или может хотя бы в одно место вынести, типа AccessFilter или типа того?
Какие best practices бытуют?
Где проверять статус пользователя и как правильно?
- porcelanosa
- Сообщения: 570
- Зарегистрирован: 2010.03.16, 04:31
- Откуда: Москва
Где проверять статус пользователя и как правильно?
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Где проверять статус пользователя и как правильно?
В RBAC rule, который крепится где-то между ролью и action.
Нравится Yii? Давайте сделаем его лучше!.
- porcelanosa
- Сообщения: 570
- Зарегистрирован: 2010.03.16, 04:31
- Откуда: Москва
Re: Где проверять статус пользователя и как правильно?
А как-то можно поподробнее?
У нас, к примеру, может не быть роли допустим у пользователя со статусом Pending
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Где проверять статус пользователя и как правильно?
Код: Выделить всё
class UserStatusRule extends Rule
{
public function execute($user, $item, $params)
{
return !Yii::$app->user->isGuest && $user->status === User::STATUS_ACTIVE;
}
}
Нравится Yii? Давайте сделаем его лучше!.