Laravel 4会话在终身限制后不会过期

时间:2014-06-26 07:20:44

标签: php authentication laravel

我已在会话配置文件中设置'lifetime' => 10,但它根本不会过期。

在具有该设置的laravel 3中,登录后,当超过10分钟的限制时,会话将正常到期,并且用户将被重定向到再次登录。

在laravel 4中它并没有发生。 10分钟后,我可以刷新,做任何事情,但会话仍然有效。

我在具有类似设置的同一台机器上进行测试......我缺少什么?

1 个答案:

答案 0 :(得分:19)

我已经知道了。问题在于配置对lifetimeexpire_on_close

如果expire_on_close设置为true,则laravel 4将忽略lifetime。我有:

'lifetime' => 1,
'expire_on_close' => true,

并且在这种情况下,会话在1分钟后有效 - 它只会在关闭浏览器后到期。我改成了:

'lifetime' => 1,
'expire_on_close' => false,

现在会话在1分钟后到期。无论浏览器是否关闭 - 足够接近我想要的。

我之所以感到困惑,而且之前没有想到它的原因是那里的评论不清楚,而且在Laravel 3中它的工作方式不同......