Закрыть доступ к backend

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zhwanik
Сообщения: 13
Зарегистрирован: 2017.06.17, 10:53

Закрыть доступ к backend

Сообщение zhwanik »

Здравствуйте!

Подскажите пожалуйста, как можно закрыть доступ ко ВСЕМ контроллерам в advanced-backend КРОМЕ:
1. Одного контроллера ApiController
2. Одного только ACTION: Site/login

Хотелось найти решение не прописывать в каждом Controller behavior, а прописать где-то в одном месте. Например конфиге.

Заранее спасибо!
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: Закрыть доступ к backend

Сообщение delvin »

Создайте свой базовый класс для бекенда, от которого будут наследоваться все контроллеры бекенда,
и в нем уже реализовать нужные правила проверки.
zhwanik
Сообщения: 13
Зарегистрирован: 2017.06.17, 10:53

Re: Закрыть доступ к backend

Сообщение zhwanik »

delvin писал(а): 2017.07.06, 23:35 Создайте свой базовый класс для бекенда, от которого будут наследоваться все контроллеры бекенда,
и в нем уже реализовать нужные правила проверки.
хитро)) Спасибо)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Закрыть доступ к backend

Сообщение girmate »

Или в поведении проверять id контроллера и на основании этого пускать или нет. И тогда создавать контроллер родитель не потребуется.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Закрыть доступ к backend

Сообщение ElisDN »

В backend/config/main.php:

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

return [
    ...
    'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'api/index'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['@'],
            ],
        ],
    ],
    'params' => $params,
];
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Закрыть доступ к backend

Сообщение girmate »

ElisDN писал(а): 2017.07.09, 22:35 В backend/config/main.php:

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

return [
    ...
    'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'api/index'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['@'],
            ],
        ],
    ],
    'params' => $params,
];
Дмитрий пишет этот код только на моей памяти уже раза 3. И мне когда-то писал. Он наверное у него в закладках. Терпения Дмитрию.
Осторожно! Вы общаетесь с новичком ;)
Ответить