我使用高级模板,我可以在15分钟内成功完成会话超时但不依赖于活动,所以即使用户在登录后在网站上活动,他也会在15分钟后退出。
我知道我应该设置触发器以增加SiteController中的超时,但不知道如何实现它。
到目前为止,这是我的代码
backend\config\main.php
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => false,
'authTimeout' => 900
],
'session' => [
'class' => 'yii\web\Session',
'cookieparams' => ['httponly' => true, 'lifetime' => 900],
'timeout' => 900,
'useCookies' => true,
],
frontend\config\main.php
'user' => [
'identityClass' => 'common\models\UserCustomer',
'enableAutoLogin' => false,
//'enableSession' => true,
'authTimeout' => 900,
],
'session' => [
'class' => 'yii\web\Session',
'cookieparams' => ['httponly' => true, 'lifetime' => 900],
'timeout' => 900,
'useCookies' => true,
],
我现在该怎么办?如果15分钟内没有活动,我可以实现会话超时。
提前致谢。
答案 0 :(得分:0)
我相信您的问题不同,并且有一个比在控制器中放置触发器更好的解决方案。 很可能你没有为http://www.yiiframework.com/doc-2.0/yii-web-user.html#login()-detail设置持续时间。搜索您登录用户的行。可能类似于:
Yii::$app->user->login($this->getUser());
更改为
Yii::$app->user->login($this->getUser(), 900);
这也可能有多种原因,但这是最明显的原因。