запрет

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
Еугений
Сообщения: 163
Зарегистрирован: 2014.11.12, 16:00

запрет

Сообщение Еугений » 2016.12.08, 23:24

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

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: запрет

Сообщение zelenin » 2016.12.09, 00:28

нет. надо либо действие выносить из-под роли либо добавлять дополнительное правило.

Еугений
Сообщения: 163
Зарегистрирован: 2014.11.12, 16:00

Re: запрет

Сообщение Еугений » 2016.12.09, 00:57

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


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

Аватара пользователя
maleks
Сообщения: 1792
Зарегистрирован: 2012.12.26, 12:56

Re: запрет

Сообщение maleks » 2016.12.09, 09:52

Это что, тестовое задание?

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

Ответить