Страница 1 из 1

запрет

Добавлено: 2016.12.08, 23:24
Еугений
Всем привет.
Начал изучать RBAC, и мне вот интересно кое-что...
Есть роль "moderator",имеющая разрешения 'create_post', 'update_post', 'delete_post'. Можно ли запретить пользователю какое-нибудь одно из этих действий, не снимая его с него роль модератора? Использую DbManager.

Re: запрет

Добавлено: 2016.12.09, 00:28
zelenin
нет. надо либо действие выносить из-под роли либо добавлять дополнительное правило.

Re: запрет

Добавлено: 2016.12.09, 00:57
Еугений
zelenin писал(а):нет. надо либо действие выносить из-под роли либо добавлять дополнительное правило.
Спасибо. у меня просто есть задача, разработать панель управления rbac, и есть такой момент в задании:
"Пользователю можно задавать роли и права.
Результирующие права - результат сложения
прав ролей и прав пользователя.
Реализация запретов является плюсом.
Запрет имеет высший приоритет при расчете
результирующих прав."


Эти запреты меня малость напрягли, я их понял так, как я написал в теме.. Вроде как, rbac это сам по себе запрет, если нет доступа...

Re: запрет

Добавлено: 2016.12.09, 09:52
maleks
Это что, тестовое задание?

Звучит действительно не под yii rbac, например пользователям по теории предполагается роли только присваивать, а не и разрешения тоже.
И в yii нет какого то "результирующего" расчета прав.
Хотя что нибудь и с запретами можно придумать. Как есть `auth_assignment` так можно завести и какую то `auth_forbiddance` и в $user->can() сначала проверять ее.