gpt4 book ai didi

laravel - 数据在 Laravel session 中持续多长时间?

转载 作者:行者123 更新时间:2023-12-01 02:03:37 25 4
gpt4 key购买 nike

最近,我注意到我的 laravel 5 应用程序出现了一个非常令人不安的情况,我似乎无法弄清楚。在登录期间,我像这样在 session 中设置了 user_type 变量

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

在我的 config/session.php 文件中,我有以下配置:
'lifetime' => 120,
'expire_on_close' => false,

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

我以主管用户身份登录,并选中了“记住我”。几个小时后,我关闭浏览器而不注销并再次启动,从 expire_on_close 开始按预期登录用户配置文件被设置为 false 并记住我被检查过。但是,我注意到 is_supervisor 变量在 session 中不再存在,所以我必须注销并再次登录才能让变量回到 session 中。可能是什么问题呢?我使用文件作为我的 session 驱动程序。

最佳答案

您需要了解发生了什么:您已将 session 的生命周期设置为 120 分钟,这意味着 session 在 120 分钟后被刷新。
remember_me功能是使用cookies。如果没有用户 session ,Laravel 会检查 cookie 并在 session cookie 仍然有效时重新创建 session 。

我的问题是:为什么要在 session 中存储这些数据?如果您想检查用户是否是主管,只需执行 if ($user->is_supervisor) .

如果在 is_supervisor 中发生了一些数据库查询函数然后使用一些缓存机制。

关于laravel - 数据在 Laravel session 中持续多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34393148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com