RBAC не для юзеров, а для своей модели Platforms

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
Аватара пользователя
webplus
Сообщения: 253
Зарегистрирован: 2012.02.24, 22:05
Контактная информация:

RBAC не для юзеров, а для своей модели Platforms

Сообщение webplus » 2017.04.30, 19:22

Всем привет!
Всех поздравляю с майскими праздниками!

Планирую использовать RBAC не для юзеров, а для своей модели Platforms.
Вопрос как связать RBAC с моделью platforms?
Нужно чтобы работали : Yii::$app->platform->can('deleteNews')

Мне кажется надо где то указать в настройках RBAC-а свою модель platforms.


Или я ошибаюсь и RBAC заточен только под юзеров?

Аватара пользователя
mat.twg
Сообщения: 217
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: RBAC не для юзеров, а для своей модели Platforms

Сообщение mat.twg » 2017.05.02, 10:34

Пишите свой компонент

Аватара пользователя
webplus
Сообщения: 253
Зарегистрирован: 2012.02.24, 22:05
Контактная информация:

Re: RBAC не для юзеров, а для своей модели Platforms

Сообщение webplus » 2017.05.18, 18:13

mat.twg писал(а):
2017.05.02, 10:34
Пишите свой компонент
а если в конфиге указать:

Код: Выделить всё

    'components' => [

        'platform' => [
            'identityClass' => 'common\models\Platform',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
        ],
        
    ]    
- я заменил свойство user на platform и в identityClass указал common\models\Platform

Затем в модели сделать так:

Код: Выделить всё

 
 namespace common\models;
 
 class Platform extends ActiveRecord implements IdentityInterface 
 {
 //......................
 }
 
 
Как думаете это вариант не сработает, и проверка Yii::$app->platform->can('deleteNews') не пройдет?

Ответить