вопрос.
В правилах RBAC используете ли вы внешние зависимости?
Может сервис какой подтащить или запрос в БД сделать или ещё что-то подобное.
Да используем.
+
не вижу особой нужды, из того что было в Yii2 RBAC хватает для реализации 99% любого функционала
все что нужно подключить дополнительно всегда можно описать в rules. Мое мнение что менять RBAC особо не нужно
Yii:$app вот такой штуки в Yii3 нет и всё, что оттуда тянется - это внешние зависимости
Что имеется в виду под "всегда можно описать в rules" ?
В данный момент нет, но точно будут запросы к БД из rule
Я просто ни разу не делал именно внутри rule запросы, отсюда вопрос...
что мешает текущее значение и лимит передать в rules через параметры?
могут какие-то дополнительные условия проверяться
БАнальное удобство. Я предположу, что изначальный вопрос был задан в связи с тем - может ли правило использвать DI (ConnectionInterface и т.д.). И если это так, то да - так было бы удобней
Всем привет. Давно не работал с yii2. По этому могу не правильно помнить и тупить. Для меня сейчас удобным является ACL от laravel-doctrine. Его достаточно просто использовать и там есть все, что нужно (на мой субъективный взгляд). Множественные роли на юзера, чисто пермишены на юзера, проверка по ролям и пермишенам. Ну и сам можешь менять правила проверки, тк реализация в трейте.
Да, зависимость от пользователя (баланс и т.п.).
Говорю же, давно работал. Не помню, можно ли было назначить пермишен сразу юзеру, не роли.
Да такая возможность в Yii3 будет, но опционально
в Yii2 можно же создать пермишен ,к нему прицепить правило и прикрепить к юзеру, в чем проблема? RBAC вполне хорошо реализован, исключение в кишках есть такой момент: Представим: создано разрешение updateUser и к нему создано правило updateOwnProfile Создаем роль client и не назначаем никаких разрешений для пользователя этой роли. Дальше в коде проверяем Yii::$app->user->can('updateUser') Мы заведомо знаем что не назначены никакие разрешения, а значит незачем запускать правило updateOwnProfile, но скрипт запускает и даже если оно возвращает true в методе execute метод can вернет false. Предлагаю при обновлении фреймворка добавить вот такую проверку https://prnt.sc/vv7onf
Можно, но не нужно.
У меня, к примеру, есть задача: разрешать добавлять сущность только если не превышен лимит из конфига. В данном случае ведь надо будет лимит передать в конструктор Rule?
Обсуждают сегодня