Yii2 如果15分钟内没有活动不工作,会话超时?
我使用高级模板,我可以在15分钟内成功完成会话超时,但这并不取决于活动,所以即使用户在登录后在网站中处于活动状态,他也会在15分钟后注销 我知道应该在SiteController中设置触发器以增加超时,但不知道如何实现它 到目前为止,这是我的代码Yii2 如果15分钟内没有活动不工作,会话超时?,yii2,Yii2,我使用高级模板,我可以在15分钟内成功完成会话超时,但这并不取决于活动,所以即使用户在登录后在网站中处于活动状态,他也会在15分钟后注销 我知道应该在SiteController中设置触发器以增加超时,但不知道如何实现它 到目前为止,这是我的代码 backend\config\main.php 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin'
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,
],
'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,
],
frontend\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,
],
'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分钟内没有活动,我可以实现会话超时
提前感谢。我相信您的问题不同,有比在控制器中放置触发器更好的解决方案。 很可能您没有为设置持续时间。搜索登录用户的行。可能是这样的:
Yii::$app->user->login($this->getUser());
改为
Yii::$app->user->login($this->getUser(), 900);
这可能不起作用还有几个原因,但这是最明显的。已经在每个控制器上实现了触发器,也许您的解决方案是下一次更新。无论如何,非常感谢。