自动注销后,如何将控件重定向到yii2中的登录页面?

自动注销后,如何将控件重定向到yii2中的登录页面?,yii2,Yii2,我使用下面的代码自动注销后,一段时间间隔 'session' => [ 'timeout' => 10, ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => false, 'authTimeout' => 10, ], 它已成功注销 但没有重定向到登录页面 如何做到这一点?您可以使用行为来执行操作 public functi

我使用下面的代码自动注销后,一段时间间隔

'session' => [
    'timeout' => 10,
],
'user' => [
    'identityClass' => 'common\models\User',
    'enableAutoLogin' => false,
    'authTimeout' => 10,
],
它已成功注销 但没有重定向到登录页面
如何做到这一点?

您可以使用行为来执行操作

 public function behaviors()
 {
     return [
         'access' => [
             'class' => AccessControl::className(),
             'only' => ['index', 'logout','view','create','update','delete'],
             'rules' => [
                 [
                     'actions' => ['index', 'logout','view','create','update','delete'],
                     'allow' => true,
                     'roles' => ['@'],
                 ],
             ],
         ],
     ];
 }
所以用户未登录,它将重定向到登录url。您还可以设置登录url

'session' => [
        'timeout' => 10,
      ],
'user' => [
      'identityClass' => 'common\models\User',
      'enableAutoLogin' => false,
      'authTimeout' => 10,
      'loginUrl' => 'admin/default/login' // set your login path here
     ],
或者您可以使用beforeAction方法检查用户是否登录,并将用户发送到登录页面

 public function beforeAction($action){

        if (Yii::$app->user->isGuest){
            return $this->redirect(['site/login'])->send();  // login path
        }
    }

错误PHP注意–yii\base\ErrorException试图获取非object的属性您使用的是第一个方法method@Goli,第一种方法用于防止未经授权的用户访问您的页面。我认为您有任何不同的错误,请显示完整的错误行