所以基本上我想在运行时只为某些用户覆盖config的session.lifetime
变量。
所以在session.php配置文件中,我设置了lifetime = 60
。但对于某些特定用户,我希望120 minutes
。
我试过了:
在myController的登录功能
中config(['session.lifetime' => 120])
Auth::attempt()
登录。但它仍然反映了每个用户的60 minutes
生命周期。那么我如何为不同的用户实现不同的session.lifetime
呢?
我也尝试过: This solution无效。
编辑:我不想缓存任何数据,或者不希望在特定时间内在会话中存储任何自定义数据。我想在他开始登录页面之前定义用户在我的网站中理想的时间长度。所以绝对不是This question
的副本答案 0 :(得分:0)
根据我对此的研究,我知道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团队成员/专家都可以纠正我。