Страница 1 из 1
Rbac разрешения для пользователей.
Добавлено: 2017.08.08, 22:20
alex2017
Привет! Возник очень странный вопрос.
Есть ли возможность реализовать при помощи RBAC передачу разрешения именно пользователю а не роли?
Если нет, то лучше тогда воспользоваться ABAC и писать все ручками?
Спасибо
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.09, 09:32
Maksat1991
Можно назначить право (permission) напрямую юзеру.
А можно между правом и юзером поставить роль.
Тогда у роли будут права.
А у юзера будут эти роли.
Получится одно и то же, как если бы юзеру Вы дали все права, которые есть у этих ролей. Но через роли удобнее
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.09, 21:07
alex2017
Maksat1991 писал(а): ↑2017.08.09, 09:32
Можно назначить право (permission) напрямую юзеру.
А можно между правом и юзером поставить роль.
Тогда у роли будут права.
А у юзера будут эти роли.
Получится одно и то же, как если бы юзеру Вы дали все права, которые есть у этих ролей. Но через роли удобнее
С кайфом.
А есть какой нибудь пример? хоть где нибудь? а то я чет не найду. Спасибо
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.09, 21:34
zelenin
alex2017 писал(а): ↑2017.08.09, 21:07А есть какой нибудь пример? хоть где нибудь? а то я чет не найду. Спасибо
в официальной доке, в разделе, который называется
Assigning roles to users (то есть прямо как ваш вопрос)
https://github.com/yiisoft/yii2/blob/ma ... s-to-users
или в любом примере кода оттуда же
Код: Выделить всё
// Assign roles to users. 1 and 2 are IDs returned by IdentityInterface::getId()
// usually implemented in your User model.
$auth->assign($author, 2);
$auth->assign($admin, 1);
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.10, 10:20
alex2017
как назначить роль->пользователю это я знаю. Спасибо. Но! как назначить право (permission) именно пользователю. Конкретному не всей роли, а одному пользователю. Есть какие нибудь примеры?
Спасибо
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.10, 10:34
maleks
alex2017 писал(а): ↑2017.08.10, 10:20
как назначить роль->пользователю это я знаю. Спасибо. Но! как назначить право (permission) именно пользователю. Конкретному не всей роли, а одному пользователю. Есть какие нибудь примеры?
Спасибо
Архитектура вроде не запрещает передать вместо имени роли имя разрешения:
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.10, 10:39
zelenin
alex2017 писал(а): ↑2017.08.10, 10:20
как назначить роль->пользователю это я знаю. Спасибо. Но! как назначить право (permission) именно пользователю. Конкретному не всей роли, а одному пользователю. Есть какие нибудь примеры?
Спасибо
роль и разрешение отличаются только семантически. Для реализации rbac в yii это одно и то же.
Re: Rbac разрешения для пользователей.
Добавлено: 2017.08.10, 10:52
alex2017
maleks писал(а): ↑2017.08.10, 10:34
Архитектура вроде не запрещает передать вместо имени роли имя разрешения:
Каеф!
Спасибо большое)))