在Yii2.0会话到期后,如何以及在何处编写代码以重定向到登录页面?
// if (!Yii::$app->controller->id == 'site') {
// $session = Yii::$app->session;
// if (!$session->isActive) {
// $model = new LoginForm();
// return $this->goHome();
// }
// }
我试图在基本控制器中执行此操作。
答案 0 :(得分:1)
您永远不知道用户会话何时到期,但您可以在使用某些操作之前强制用户登录:
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;