Доброе утро! Думаем над пакетом для реализации RBAC и возник

вопрос.

В правилах RBAC используете ли вы внешние зависимости?

Может сервис какой подтащить или запрос в БД сделать или ещё что-то подобное.

19 ответов

30 просмотров

Да используем.

+

не вижу особой нужды, из того что было в Yii2 RBAC хватает для реализации 99% любого функционала

все что нужно подключить дополнительно всегда можно описать в rules. Мое мнение что менять RBAC особо не нужно

Денис (php developer)
не вижу особой нужды, из того что было в Yii2 RBAC...

Yii:$app вот такой штуки в Yii3 нет и всё, что оттуда тянется - это внешние зависимости

Денис (php developer)
все что нужно подключить дополнительно всегда можн...

Что имеется в виду под "всегда можно описать в rules" ?

В данный момент нет, но точно будут запросы к БД из rule

Дмитрий Герасимов
В данный момент нет, но точно будут запросы к БД и...

Я просто ни разу не делал именно внутри rule запросы, отсюда вопрос...

что мешает текущее значение и лимит передать в rules через параметры?

могут какие-то дополнительные условия проверяться

Денис (php developer)
что мешает текущее значение и лимит передать в rul...

БАнальное удобство. Я предположу, что изначальный вопрос был задан в связи с тем - может ли правило использвать DI (ConnectionInterface и т.д.). И если это так, то да - так было бы удобней

Всем привет. Давно не работал с yii2. По этому могу не правильно помнить и тупить. Для меня сейчас удобным является ACL от laravel-doctrine. Его достаточно просто использовать и там есть все, что нужно (на мой субъективный взгляд). Множественные роли на юзера, чисто пермишены на юзера, проверка по ролям и пермишенам. Ну и сам можешь менять правила проверки, тк реализация в трейте.

Да, зависимость от пользователя (баланс и т.п.).

Говорю же, давно работал. Не помню, можно ли было назначить пермишен сразу юзеру, не роли.

Да такая возможность в Yii3 будет, но опционально

Сергей Предводителев
Да такая возможность в Yii3 будет, но опционально

в Yii2 можно же создать пермишен ,к нему прицепить правило и прикрепить к юзеру, в чем проблема? RBAC вполне хорошо реализован, исключение в кишках есть такой момент: Представим: создано разрешение updateUser и к нему создано правило updateOwnProfile Создаем роль client и не назначаем никаких разрешений для пользователя этой роли. Дальше в коде проверяем Yii::$app->user->can('updateUser') Мы заведомо знаем что не назначены никакие разрешения, а значит незачем запускать правило updateOwnProfile, но скрипт запускает и даже если оно возвращает true в методе execute метод can вернет false. Предлагаю при обновлении фреймворка добавить вот такую проверку https://prnt.sc/vv7onf

У меня, к примеру, есть задача: разрешать добавлять сущность только если не превышен лимит из конфига. В данном случае ведь надо будет лимит передать в конструктор Rule?

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта