Страница 1 из 1

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

Добавлено: 2019.09.06, 11:53
dymsonn
Здравствуйте. Настроил три группы пользователей. В конфигурации настроил правила доступа к экшенам.

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

 '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?

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

Добавлено: 2019.09.07, 14:06
yiiliveext
Для перенаправления залогиненых пользователей используйте denyCallback

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

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

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

Добавлено: 2019.09.09, 09:25
yiiliveext
И админов перенаправлять не будет.