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

вопрос.

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

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

19 ответов

19 просмотров

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

+

не вижу особой нужды, из того что было в 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?

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

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

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
ребят, привет есть ли возможность мигрировать Policies + Auth Methods из нескольких Vault в один? пытаюсь сократить Vault кластера, немного не удобно что для каждой тестовой ...
azadevlab
2
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Всем привет. Кто подскажет, как сделать авто обновление стороннего модуля при запуске контейнера. Мб есть команда при запуске контенера или в докер файле нужно приписать настр...
Trum_t Malyuzhenets
1
Карта сайта