Yii2.0.7 限制user module登陸遇到的問題

在Yii2.0.6的時候我是在如下文件經過如下方法實現的。php

frontend/modules/user/Module.phpweb

namespace frontend\modules\user;

class Module extends \yii\base\Module
{
    public $controllerNamespace = 'frontend\modules\user\controllers';

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

        //該模塊必須登錄用戶訪問
        if (Yii::$app->user->isGuest){
            return Yii::$app->response->redirect(Yii::$app->homeUrl);
        }

        return true;
    }
}

 

後來更新到Yii2.0.7以後,發現能執行到跳轉,但就是沒法跳轉出去。app

 

下面是修改後的實現方法,讓他在controller裏面實現邏輯frontend

user module裏面的全部controller所有繼承該controlleryii

<?php
namespace frontend\modules\user\controllers;

use Yii;
use yii\web\Controller;

class ApplicationController extends Controller
{
    public function beforeAction($action)
    {
        if (!parent::beforeAction($action)) {
            return false;
        }

        if (Yii::$app->user->isGuest){
            return $this->goHome()->send();//這邊須要加send(),否則沒法跳轉,Yii 2.0.7
        }

        return true;
    }
}
相關文章
相關標籤/搜索