所以基本上我想在运行时只为某些用户覆盖配置的session.lifetime
变量。
所以在session.php配置文件中,我设置了lifetime = 60
。但对于一些特定用户,我想要它为120 minutes
。
我试过了:
在myController的Login函数中
config(['session.lifetime' => 120])
Auth::attempt()
登录。但它仍然反映了每个用户的60 minutes
生命周期。那么我怎样才能为不同的用户实现不同的session.lifetime
?
我也试过:This solution哪个不行。
编辑:我不想缓存任何数据或不想在特定时间内在我的会话中存储任何自定义数据。我想在他开始登录页面之前定义用户在我的网站中理想的时间长度。所以绝对不是This question的副本
根据我对此的研究,我开始知道Laravel
设置了用户的last_active_time
,可能在Authentication
中间件中,他们为检查提供了一些逻辑
If((last_active_time + config_session_time) > current_timestamp) {
'Send user to login page.';
}
else {
'Update last_active_time = current_timestamp';
'Continue';
}
如果Laravel提出设置last_active_time
的逻辑,那么我们可以设置动态会话时间,而不是设置session_expire_time
。否则,似乎不可能在不扭曲Laravel的当前逻辑的情况下设置动态会话时间。
如果我错了,任何Laravel团队成员/专家都可以纠正我。