Как получить страницу входа перед переходом на страницу администратора в Yii2? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь получить страницу входа перед переходом на страницу администратора в Yii2.Например, когда я пишу в браузере, http://project/admin/ должен перенаправить меня на страницу входа как http://project/admin/login. Пожалуйста, кто-нибудь поможет мне.

В Module.php

 public function behaviors(){
        return [
            'access' => [
                'class' => \yii\filters\AccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['@']
                    ],
                ],
            ],
        ];
    }

public function init()
    {
        parent::init();
        Yii::$app->user->loginUrl = '/admin/main/login';
    }

1 Ответ

0 голосов
/ 12 февраля 2019

Вам просто нужно установить правила (внутри вашего метода поведения), указывающие, к каким действиям разрешен доступ, когда пользователь вошел в систему или нет.В вашем случае к действию входа в систему можно получить доступ, когда пользователь не зарегистрирован, например:

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
    ];
}
...