Можно сделать права доступа AccessControl для разных ролей в конфиге на все контролеры?

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
alexa777
Сообщения: 280
Зарегистрирован: 2016.03.01, 17:38

Можно сделать права доступа AccessControl для разных ролей в конфиге на все контролеры?

Сообщение alexa777 » 2019.02.21, 11:24

Нашел такой способ как в конфиге ограничить все ролям кроме админ доступ к админке

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

    'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'site/error'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['admin'],
            ],
        ],
    ],   
Подумал, а как можно сделать тут же чтобы для каждого контролера в админке указать роль доступа? чтобы не в каждом контролере прописывать доступ?
Я пробовал так но не выходит

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

    'as access' => [
        'class' => 'yii\filters\AccessControl',
        'rules' => [
            [
                 'actions' => ['site/login', 'site/error'],
                'allow' => true,
                'roles' => ['admin'],
            ],
                        [
                 'actions' => ['user/index', 'user/view'],
                'allow' => true,
                'roles' => ['moderator'],
            ],
        ],
    ],   

SindBad
Сообщения: 78
Зарегистрирован: 2015.06.18, 10:53

Re: Можно сделать права доступа AccessControl для разных ролей в конфиге на все контролеры?

Сообщение SindBad » 2019.04.23, 00:47

Не выходит - что именно? Вы пытаетесь в своем конфиге почему-то разрешить login и error только админу, а все остальное - только модератору.
Может, хотите сделать это?

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

'as access' => [
    'class' => 'yii\filters\AccessControl',
    'rules' => [
        [
                'actions' => [
                	'user/index', 
                	'user/view',
                ],
                'allow' => true,
                'roles' => ['admin'],
          ],
    ],
], 

Ответить