Что выбрать: rbac или просто проверки
Что выбрать: rbac или просто проверки
Всем привет. Вопрос ламмерски, поделитесь опытом:
Есть несколько стадий пользователя:
"зарегистрирован, но не прошел проверку email" - доступно часть функционала
"зарегистрирован, и успешно прошел проверку" - доступен весь функционал
"зарегистрирован, и просрочил проверку email" - доступно только "запрос на повторное письмо для проверки"
Целесообразно ли использовать RBAC для проверок этих пользовтаелей?
Есть несколько стадий пользователя:
"зарегистрирован, но не прошел проверку email" - доступно часть функционала
"зарегистрирован, и успешно прошел проверку" - доступен весь функционал
"зарегистрирован, и просрочил проверку email" - доступно только "запрос на повторное письмо для проверки"
Целесообразно ли использовать RBAC для проверок этих пользовтаелей?
Re: Что выбрать: rbac или просто проверки
rbac всегда полезен. кушать не просит, настраивается легко. разруливать рулзами (rules)
Re: Что выбрать: rbac или просто проверки
Да, вы правы. Вот только один вопрос остался:zelenin писал(а):rbac всегда полезен. кушать не просит, настраивается легко. разруливать рулзами (rules)
Как я понял, в рбак ролт задаются статически (то есть один раз присвоил с помощью $auth->assign($role, $this->id), и пока заново такое не сделаешь - она никак не измениться). Можно ли сделать чтоб роль зависила от какого-либо динамического поля юзера (например $user->getRole())?
Re: Что выбрать: rbac или просто проверки
https://github.com/zelenin/yii2-rbac-module#phpmanagermitaichik писал(а):Да, вы правы. Вот только один вопрос остался:zelenin писал(а):rbac всегда полезен. кушать не просит, настраивается легко. разруливать рулзами (rules)
Как я понял, в рбак ролт задаются статически (то есть один раз присвоил с помощью $auth->assign($role, $this->id), и пока заново такое не сделаешь - она никак не измениться). Можно ли сделать чтоб роль зависила от какого-либо динамического поля юзера (например $user->getRole())?
Re: Что выбрать: rbac или просто проверки
Огромное спасибо!zelenin писал(а):https://github.com/zelenin/yii2-rbac-module#phpmanagermitaichik писал(а):Да, вы правы. Вот только один вопрос остался:zelenin писал(а):rbac всегда полезен. кушать не просит, настраивается легко. разруливать рулзами (rules)
Как я понял, в рбак ролт задаются статически (то есть один раз присвоил с помощью $auth->assign($role, $this->id), и пока заново такое не сделаешь - она никак не измениться). Можно ли сделать чтоб роль зависила от какого-либо динамического поля юзера (например $user->getRole())?
Один только момент: на мой взгляд в ващей реализации PhpManager не хватает проверки
Код: Выделить всё
$userId == Yii::$app->user->identity->id
Re: Что выбрать: rbac или просто проверки
Насчёт проверки уже здесь говорили. Просто этот метод с присвоением роли используется только в Yii::$app->user->can(...), а это всегда текущий пользователь. Так что в проверке смысла нет.
Re: Что выбрать: rbac или просто проверки
Метод то public - сегодня используется только там, а завтра - нет. Имхо, в любом случае проверка нужна. Но не буду спорить - дело ваше.ElisDN писал(а):Насчёт проверки уже здесь говорили. Просто этот метод с присвоением роли используется только в Yii::$app->user->can(...), а это всегда текущий пользователь. Так что в проверке смысла нет.
Re: Что выбрать: rbac или просто проверки
частично правы. метод должен ассайнить роль любому юзеру, а не только текущему.mitaichik писал(а):Метод то public - сегодня используется только там, а завтра - нет. Имхо, в любом случае проверка нужна. Но не буду спорить - дело ваше.ElisDN писал(а):Насчёт проверки уже здесь говорили. Просто этот метод с присвоением роли используется только в Yii::$app->user->can(...), а это всегда текущий пользователь. Так что в проверке смысла нет.