如何在 Yii2 中进入管理页面之前获取登录页面



我正在尝试在 Yii2 中进入管理页面之前获取登录页面。例如,当我在浏览器上写作时http://project/admin/应该将我重定向到登录页面上http://project/admin/login。请任何人帮助我。

Module.php

 public function behaviors(){
        return [
            'access' => [
                'class' => yiifiltersAccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['@']
                    ],
                ],
            ],
        ];
    }
public function init()
    {
        parent::init();
        Yii::$app->user->loginUrl = '/admin/main/login';
    }

您只需要设置规则(在您的行为方法内部(,说明在记录用户时允许访问哪些操作。在您的情况下,可以在未记录用户时访问登录操作,如下所示:

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

最新更新