laravel中数据持续多长时间?

最近,我注意到我的laravel 5 app非常令人不安,我似乎无法弄明白.在登录期间,我在会话中设置user_type变量,如此

Session::put('is_supervisor', $user->is_supervisor);

在我的config / session.php文件中,我有以下配置:

'lifetime' => 120,
'expire_on_close' => false,

我还实现了记住我的功能.

我作为主管用户登录,记住我已检查过.几个小时后,我关闭浏览器而没有注销并再次启动,因为expire_on_close设置为false并且记住我已经检查,因此按预期登录到用户配置文件.但是,我注意到is_supervisor变量在会话中不再存在,所以我不得不注销并再次登录以使变量返回会话.可能是什么问题呢?我使用文件作为我的会话驱动程序.

最佳答案 你需要了解发生了什么,你将会话的生命周期设置为120分钟,120分钟后刷新会话.

记住我的功能是使用cookie,所以如果没有用户会话,而不是检查cookie,如果cookie是好的,则重新创建会话.

我的问题是 – 为什么要将这些数据存储在会话中?如果你想检查用户是否是主管只是做(if user-> is_supervisor)

如果在is_supervisor函数内发生了一些db查询,而不是使用某些缓存机制

点赞