尽管会话超时设置为至少20分钟,但Yii2会话在用户空闲一段固定秒后到期

时间:2017-01-11 09:57:39

标签: session yii2

    'user' => [
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
    ],
    'session' => [

        'timeout'=>24*60*60,
    ],

我已在配置/主文件中添加了这些代码

1 个答案:

答案 0 :(得分:1)

我的回答使用了Yii2用户身份验证模块的用户。

根据Yii2登录方法的API documentation,登录方法将身份cookie设置为基于会话,因为默认持续时间为0.

public boolean login ( yii\web\IdentityInterface $identity, $duration = 0 )

但是,通过在调用login方法时指定持续时间,cookie将在指定的持续时间内存储。只要启用基于cookie的登录,用户的登录就会刷新。见下面的例子。

if(Yii::$app->getUser()->login($user, 24 * 60 * 60)) {
    // Login Successful, perform appropriate action here
}