在yii2中会话过期后自动注销

在yii2中会话过期后自动注销,yii2,Yii2,在Yii2.0中,会话到期后,如何编写代码重定向到登录页面,以及在何处编写代码 // if (!Yii::$app->controller->id == 'site') { // $session = Yii::$app->session; // if (!$session->isActive) { // $model = new LoginForm(); // return $this-&

在Yii2.0中,会话到期后,如何编写代码重定向到登录页面,以及在何处编写代码

 // if (!Yii::$app->controller->id == 'site') {
    //     $session = Yii::$app->session;
    //     if (!$session->isActive) {
    //         $model = new LoginForm();
    //         return $this->goHome();
    //     }        
    // } 

我尝试在基本控制器中执行此操作。

您永远不知道用户会话何时过期,但您可以在使用某些操作之前强制用户登录:

 public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [

                [
                    'actions' => ['youraction'],
                    'allow' => true,
                    'roles' => ['@'], // you can use matchCallback to create  more powerful  check 
                ],
            ],
        ], 

    ];
}
不要忘记添加使用yii\filters\AccessControl