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

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

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

Сообщение webplus »

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

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

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


Или я ошибаюсь и RBAC заточен только под юзеров?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

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

Сообщение mat.twg »

Пишите свой компонент
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

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

Сообщение webplus »

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') не пройдет?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Ответить