Как в RBAC задать вес роли

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
Аватара пользователя
svil
Сообщения: 316
Зарегистрирован: 2018.02.12, 22:41

Как в RBAC задать вес роли

Сообщение svil » 2019.04.17, 20:21

Как с помощью basic RBAC создать веса роли: admin 100, manager 50, user 20 ?

Аватара пользователя
samdark
Администратор
Сообщения: 8905
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как в RBAC задать вес роли

Сообщение samdark » 2019.04.17, 20:22

Что такое вес роли?
Нравится Yii? Давайте сделаем его лучше!.

17 мая 2019, Москва — PHP Russia — большая конференция про PHP.

Аватара пользователя
svil
Сообщения: 316
Зарегистрирован: 2018.02.12, 22:41

Re: Как в RBAC задать вес роли

Сообщение svil » 2019.04.17, 20:29

У каждой роли есть свой вес, который задает иерархию ролей. Если роль пользователя имеет доступ в раздел “Список пользователей” (/users/user/manage), то такой роли не будут видны пользователи с весом роли >= текущего веса роли пользователя. Это означает, что и другим пользователям текущий пользователь не сможет назначить роль с весом >= своего.

Аватара пользователя
samdark
Администратор
Сообщения: 8905
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как в RBAC задать вес роли

Сообщение samdark » 2019.04.17, 22:18

Нет, RBAC работает не так.
Нравится Yii? Давайте сделаем его лучше!.

17 мая 2019, Москва — PHP Russia — большая конференция про PHP.

Аватара пользователя
svil
Сообщения: 316
Зарегистрирован: 2018.02.12, 22:41

Re: Как в RBAC задать вес роли

Сообщение svil » 2019.04.17, 23:57

Мне дали тестовое задание "доработка аутентификации ролями пользователей (администратор – вес 100, бухгалтер – вес 50, пользователь – вес 20)" Гуглю, не знаю, куда копать

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

Re: Как в RBAC задать вес роли

Сообщение maleks » 2019.04.18, 06:59

Небольшое уточнение (не критическое) с тем что у пользователя может быть много ролей.
Плюс роли бывают вложены в роли, получается что он будет обладать обеими.
Но если последнее "упустить из виду", то вполне решаемо.
По сути нужен то специфический механизм назначения ролей пользователям.
Заведи в auth_item столбец под вес роли.
И сможешь запросами находить и свой максимальный вес. И какой max вес у других пользователей.

Ответить