自动注销后如何将控件重定向到 yii2 中的登录页面? [英] after auto logout how to redirect the control to login page in yii2?

查看:25
本文介绍了自动注销后如何将控件重定向到 yii2 中的登录页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下代码在一段时间后自动注销

I am using below code to auto logout after some time interval

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

退出成功但没有重定向到登录页面怎么做?

It logged out successfully but did not redirect to login page how to do that?

推荐答案

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

 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' => ['@'],
                 ],
             ],
         ],
     ];
 }

所以用户没有登录它会重定向到登录网址.您也可以设置登录网址

So user is not logged in it will redirect to login url. You can also set login url

'session' => [
        'timeout' => 10,
      ],
'user' => [
      'identityClass' => 'common\models\User',
      'enableAutoLogin' => false,
      'authTimeout' => 10,
      'loginUrl' => 'admin/default/login' // set your login path here
     ],

OR 您可以使用 beforeAction 方法来检查用户是否登录并将用户发送到登录页面.

OR You can use beforeAction method to check that user is logged in or not and send user to login page.

 public function beforeAction($action){

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

这篇关于自动注销后如何将控件重定向到 yii2 中的登录页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆