Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2如何更改组件用户模块中的loginUrl_Php_Yii2 - Fatal编程技术网

Php Yii2如何更改组件用户模块中的loginUrl

Php Yii2如何更改组件用户模块中的loginUrl,php,yii2,Php,Yii2,我有以下配置组件user 'user' => [ 'identityClass' => 'app\models\web\User', 'enableAutoLogin' => true, 'loginUrl'=>['/backend/login'], ], 我有两个模块后端和前端。我希望如果用户转到后端部分需要使用以下规则'loginUrl'=>['/backend/login'],如果转到前端部分,则使用

我有以下配置组件
user

    'user' => [
        'identityClass' => 'app\models\web\User',
        'enableAutoLogin' => true,
        'loginUrl'=>['/backend/login'],
    ],

我有两个模块
后端
前端
。我希望如果用户转到后端部分需要使用以下规则
'loginUrl'=>['/backend/login']
,如果转到前端部分,则使用此规则
'loginUrl'=>['/frontend/login']
。如何才能做到这一点?

如果使用高级模板,则有两个配置文件

 backend / config / main.php
 frontend / config / main.php
分开。
您可以单独配置相应的URL登录。

对于任何模块或控制器,您可以使用模块或控制器中的AccessControl行为重定向到登录操作:

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
                [
                    'actions' => ['index'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
            'denyCallback' => function($rule, $action) {
                return Yii::$app->response->redirect(['/your/login/url']);
            },
        ],
    ];
}
或在模块类文件中:

public function init()
{
    parent::init();

    Yii::$app->user->loginUrl = ['/your/login/url'];
}

这应该是公认的答案,固溶体时,使用两个或两个以上模块单独登录基本模板,谢谢!