Yii2 PHP 在 Controller 中使用 beforeAction 执行检查用户
Yii2 PHP Perform checking user with beforeAction in Controller
我知道有一个类似的post,但只是为了确认我的理解。
我刚开始使用 Yii2 PHP。我用过可以登录注册的dektrium/yii2-user。我想做一个 beforeAction() 来检查登录的用户 auth.key 是否存在于数据库中 (XAMPP MYSQL)。下面是我要执行的代码。
//Action direct to json.php.
public function actionJson()
{
return $this->render('json');
}
如果语句为 true 将定向到页面,否则显示警告错误。
我知道确切的代码是
public function beforeAction($action){}
我感到困惑的是我实际上把 beforeAction() 放在哪里。
BeforeAction()
This method is invoked right before an action is executed.
https://www.yiiframework.com/doc/api/2.0/yii-base-controller#beforeAction()-detail
放在哪里?
您必须将它放在您的登录控制器中 (LoginController.php) class。
请记住在函数内调用父级:
public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
return true; // or false to not run the action
}
然后来自该控制器的所有操作都将使用您自定义的 beforeAction 函数。
我知道有一个类似的post,但只是为了确认我的理解。
我刚开始使用 Yii2 PHP。我用过可以登录注册的dektrium/yii2-user。我想做一个 beforeAction() 来检查登录的用户 auth.key 是否存在于数据库中 (XAMPP MYSQL)。下面是我要执行的代码。
//Action direct to json.php.
public function actionJson()
{
return $this->render('json');
}
如果语句为 true 将定向到页面,否则显示警告错误。
我知道确切的代码是
public function beforeAction($action){}
我感到困惑的是我实际上把 beforeAction() 放在哪里。
BeforeAction()
This method is invoked right before an action is executed.
https://www.yiiframework.com/doc/api/2.0/yii-base-controller#beforeAction()-detail
放在哪里?
您必须将它放在您的登录控制器中 (LoginController.php) class。 请记住在函数内调用父级:
public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
return true; // or false to not run the action
}
然后来自该控制器的所有操作都将使用您自定义的 beforeAction 函数。