Как запретить юзеру логинится в админке?

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

Как запретить юзеру логинится в админке?

Сообщение alexa777 »

Такой вопрос, если я закрываю юзеру доступ в админку вот так контролере Site

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

   'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'actions' => ['login', 'error'],
                        'allow' => true,
                    ],
                    [
                        'actions' => ['logout', 'index'],
                        'allow' => true,
                        'roles' => ['admin'],
                    ],
                ],
            ],
Или даже так в main конфиге для всего бэкэнда

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

    'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'site/error'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['admin'],
            ],
        ],
    ],    
То любой юзер может авторизоваться в backend и увидит главную и менюшюку админки, естественно он там нечего сделать не может и больше увидеть тоже. Но хотелось бы чтобы если это не админ залогинился то выкидывало исключение. Как это сделать?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как запретить юзеру логинится в админке?

Сообщение samdark »

1. Можно site/index (или какая у вас там страница после авторизации) запретить не админу.
2. Можно в LoginForm выбирать для сверки логина-пароля только админов. Тогда остальные просто не смогу войти.
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как запретить юзеру логинится в админке?

Сообщение alexa777 »

samdark писал(а): 2019.01.30, 01:47 1. Можно site/index (или какая у вас там страница после авторизации) запретить не админу.
2. Можно в LoginForm выбирать для сверки логина-пароля только админов. Тогда остальные просто не смогу войти.
Спасибо помогло
Ответить