我已在会话配置文件中设置'lifetime' => 10
,但它根本不会过期。
在具有该设置的laravel 3中,登录后,当超过10分钟的限制时,会话将正常到期,并且用户将被重定向到再次登录。
在laravel 4中它并没有发生。 10分钟后,我可以刷新,做任何事情,但会话仍然有效。
我在具有类似设置的同一台机器上进行测试......我缺少什么?
答案 0 :(得分:19)
我已经知道了。问题在于配置对lifetime
和expire_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中它的工作方式不同......