Задать вопрос
TTA
@TTA
Мутировавший технарь :)

Yii2. RBAC и фильтрация/ограничения на уровне записей. Как лучше реализовать?

Салют! Реализую рест сервис. Есть базовый контроллер отнаследованный от ActiveController от которого наследуются потомки. В базовом контроллере, общая логика, в потомках - кастомизация. Плюс настроен RBAC.
Стоит бизнес-задача "В паре списков сущностей owner может видеть/редактировать только свои сущности". С редактированием вроде все понятно. Но каким способом резать вывод данных по GET /items я не понимаю. Есть несколько вариантов, но они либо к перегрузке основного IndexAction приводят (или дата провайдера), либо к сложным костылям которые потом вспотеешь сопровождать. И в идеале рулить этим через логику RBAC. Что посоветуете коллеги (кроме RTFM ))? Или может где на гитхабе пример кода есть.
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
proudmore
@proudmore
В Rbac есть сущность \yii\rbac\rule.
Это класс, который имеет абстрактный метод execute(), который, будучи реализованным в классе потомке позволит реализовать любую логику проверки.
Реализуете такой класс, цепляете его к разрешению, профит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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