Laravel 4 cookie会话生命周期自动更改

时间:2017-04-08 20:32:02

标签: laravel session laravel-4

我在Laravel 4中创建了“记住我”功能。为此,我使用下面的代码来设置自定义会话。我已经在登录功能中设置了会话并在同一个函数中进行了检查,然后它给出了“一年”的正确结果。但是当我使用showDashboard()函数重定向到仪表板并在函数内再次检查会话时,会话更改为120分钟,即“两天”。

登录功能:

public function actionLogin{
   //User authentication code

    $lifetime = time() + 60 * 60 * 24 * 365; // one year
    Config::set('session.lifetime', $lifetime); 

    //Config::get('session.lifetime'); //<---Giving expected result i.e "One year"
    return Redirect::to('/dashboard');
}

信息中心功能:

public function showDashboard(){
       Config::get('session.lifetime'); //<--- Giving o/p 120 i.e two hours 
}

1 个答案:

答案 0 :(得分:0)

调用Config::set('session.lifetime', $lifetime);时,您只需为该一个实例设置配置,而不是覆盖配置值(可以在config / session.php中找到)

因此,当您调用Config::get('session.lifetime')时,它将返回默认值,即120.

为了改变这种情况,我会修改app/config/session.php,以便这一行:

'lifetime' => 120

变为:

'lifetime' => 525600

这意味着默认值为1年。