Nik*_*kul 4 yii2 yii2-advanced-app
如果用户没有登录,则用户必须在登录页面上重定向,因为我找到了对我来说工作正常的功能,我使用了以下功能
public function beforeAction($action)
{
if (\Yii::$app->getUser()->isGuest &&
\Yii::$app->getRequest()->url !== Url::to(\Yii::$app->getUser()->loginUrl)
) {
\Yii::$app->getResponse()->redirect(\Yii::$app->getUser()->loginUrl);
}
return parent::beforeAction($action);
}
Run Code Online (Sandbox Code Playgroud)
这对我来说很好,但为此我需要在每个控制器中添加功能,我想做什么,我需要常见的功能,我可以在哪里执行此操作,所以任何人都可以请告诉我什么是最好的方法来做到这一点?
GAM*_*ITG 17
您需要config/web.php在components部分之后添加以下代码.
'as beforeRequest' => [ //if guest user access site so, redirect to login page.
'class' => 'yii\filters\AccessControl',
'rules' => [
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'allow' => true,
'roles' => ['@'],
],
],
],
Run Code Online (Sandbox Code Playgroud)