Yii2 PHP在控制器中使用beforeAction执行用户检查

bcs8qyzn  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(204)

我知道有一个类似的职位,但只是为了确认我的理解。
我刚开始使用Yii 2 PHP。我用了dektrium/yii 2-user可以登录和注册。我想做一个**beforeAction()**来检查登录的用户auth.key是否存在于数据库(XAMPP MYSQL)中。下面是我想执行的代码。

//Action direct to json.php.
    public function actionJson()
    {
        return $this->render('json');
    }

如果该语句为true则将定向到该页,否则显示警告错误。
我知道确切的密码是

public function beforeAction($action){}

我所困惑的是我实际上在哪里放置beforeAction()

icnyk63a

icnyk63a1#

动作前()

在执行操作之前调用此方法。
https://www.yiiframework.com/doc/api/2.0/yii-base-controller#beforeAction()-detail

将其放置在何处?

您必须将它放在您的登录控制器(LoginController.php)类中。记住在函数中调用父函数如下:

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

    return true; // or false to not run the action
}

然后,该控制器中的所有操作都将使用自定义的beforeAction函数。

相关问题