我使用下面的代码在一段时间间隔后自动注销
'session' => [
'timeout' => 10,
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => false,
'authTimeout' => 10,
],
它已成功注销 但没有重定向到登录页面 怎么做?
答案 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
}
}