php Yii2停止用户在浏览器关闭时被注销

jdgnovmf  于 2023-02-03  发布在  PHP
关注(0)|答案(1)|浏览(121)

我遇到了一些用户在关闭浏览器时被注销的问题。我试图将enableAutoLogin设置为true,但即使设置了authTimeout和absoluteAuthTimeout,用户似乎也从未注销过。有人知道如何使其在关闭浏览器时不会注销,而是在10小时后注销吗?

'user' => [
        'class' => \common\models\WebUser::class,
        'identityClass' => 'common\models\User',
        'authTimeout' => 36000, 
        //'enableAutoLogin' => true,
        'absoluteAuthTimeout' => 36000,
        'enableSession' =>true,
    ],
    'session' => [
        'class' => 'yii\web\Session',
        'timeout' => 36000, // 2 weeks=
        'useCookies' => true,
    ],
3qpi33ja

3qpi33ja1#

对于遇到此问题的其他任何人,使用enableAutoLogin为true时的解决方案是设置duration,这是调用登录函数时的第二个参数

public function login()
{
    if ($this->validate())
    {
        return Yii::$app->user->login($this->getUser(), 36000);
    }
    return false;
}

相关问题