Настройка доступа в конфигурации

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
dymsonn
Сообщения: 60
Зарегистрирован: 2018.06.13, 15:37

Настройка доступа в конфигурации

Сообщение dymsonn » 2019.09.06, 11:53

Здравствуйте. Настроил три группы пользователей. В конфигурации настроил правила доступа к экшенам.

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

 'as access' => [
        'class' => 'yii\filters\AccessControl',
        //переход в случае недостаточных прав
        'except' => ['site/login'],
        'rules' => [
            [
                'allow' => true,
                'controllers' => '',
                'actions' => ['index', 'view', 'savfile', 'logout'],
                'roles' => [
                    '?',
                    'user'
                ],
            ],
            [
                'allow' => true,
                'roles' => [
                    'admin',
                    'super_admin'
                ],
            ]
        ]
    ],
По факту получается 4 роли: не зарегистрированный пользователь, пользователь, админ, суперадмин. Соответстенно, Админам разрешено всё. А незалогиненым пользователям и user доступны страницы индесные, просмотра строк грида(вью), сохранения файла и выхода. Так вот эта логика работает у всех кроме user.
Допустим при нажатии на кнопку редактирования, должно перекидывать на site/login. Если пользователь не зарегистрирован, то так и происходит, а если пользователь user, то выкидывает исключение.
Почему пользователя не перенапрявляет как незалогиненого пользователся на site/login?

yiiliveext
Сообщения: 534
Зарегистрирован: 2019.08.13, 01:49

Re: Настройка доступа в конфигурации

Сообщение yiiliveext » 2019.09.07, 14:06

Для перенаправления залогиненых пользователей используйте denyCallback

dymsonn
Сообщения: 60
Зарегистрирован: 2018.06.13, 15:37

Re: Настройка доступа в конфигурации

Сообщение dymsonn » 2019.09.09, 09:21

yiiliveext писал(а):
2019.09.07, 14:06
Для перенаправления залогиненых пользователей используйте denyCallback
Это можно сделать. Только Админы то тоже залогиненные и их перенаправляет без Коллбэка. Зачем тогда конструкция exept существует? Мне одинаковое поведение для всех необходимо.

yiiliveext
Сообщения: 534
Зарегистрирован: 2019.08.13, 01:49

Re: Настройка доступа в конфигурации

Сообщение yiiliveext » 2019.09.09, 09:25

И админов перенаправлять не будет.

Ответить