簡體   English   中英

Yii2如何在模塊的組件用戶中更改loginUrl

[英]Yii2 how change loginUrl in components user for module

我有以下配置組件user

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

我有2個模塊backendfrontend 我想如果用戶進入后端部分需要使用以下規則'loginUrl'=>['/backend/login']並且如果到了frontend部分這個規則'loginUrl'=>['/frontend/login'] 我怎樣才能做到這一點?

對於任何模塊或控制器,您可以使用模塊或控制器中的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']);
            },
        ],
    ];
}

或者在Module類文件中:

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

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

如果使用高級模板,則有兩個配置文件

 backend / config / main.php
 frontend / config / main.php

分離。 您可以單獨配置相應的urlLogin。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM