yii2-如何控制没有登录的情况下,全部跳转到登录页面

来源:互联网 发布:淘宝详情图怎么上传 编辑:程序博客网 时间:2024/05/22 17:02

方法一:为了以后做权限控制,增加一个 控制器中间层, 在中间层用 beforeAction 做统一的过滤,

代码如下

    /**     * 在程序执行之前,对访问的方法进行权限验证.     * @param \yii\base\Action $action     * @return bool     * @throws ForbiddenHttpException     */    public function beforeAction($action)    {        //如果未登录,则直接返回        if(Yii::$app->user->isGuest){            return $this->goHome();        }        //获取路径        $path = Yii::$app->request->pathInfo;        //忽略列表        if (in_array($path, $this->ignoreList)) {            return true;        }        if (Yii::$app->user->can($path)) {            return true;        } else {            throw new ForbiddenHttpException(Yii::t('app', 'message 401'));        }    }

方法二:写一个控制器基类,然后继承其init方法,然后做判断


方法三:在Module类里进行判断处理。


0 0
原创粉丝点击