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

时间:2018-04-05 12:24:59

标签: yii2

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

'session' => [
    'timeout' => 10,
],
'user' => [
    'identityClass' => 'common\models\User',
    'enableAutoLogin' => false,
    'authTimeout' => 10,
],

它已成功注销 但没有重定向到登录页面 怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用行为进行操作。

 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
        }
    }