我想在login
页面中添加一个复选框"保持登录状态"。
除非用户注销,否则永远不应该结束用户的会话。
我知道在app / config / session.php中我有这些变量:
'lifetime' => 60,
'expire_on_close' => false,
但我希望永远保持会话的活力,如果用户关闭导航器,则不会删除。
关于我应该如何进行的任何想法? 感谢
答案 0 :(得分:7)
Laravel有remember users的内置功能,我强烈建议您使用它。
如果您想提供"请记住我"你的功能 应用程序,您可以传递一个布尔值作为第二个参数 尝试方法,将保持用户身份验证 无限期地,或直到他们手动注销。当然,你的用户 table必须包含字符串remember_token列,它将是 用来存储"记住我"令牌。
if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
// The user is being remembered...
}
如果您想手动解决问题,可以采用以下方法解决此问题:您必须将Cookie的过期日期设置为广泛的未来日期,有点像2050年。这在技术上并非永远,但通常应该是够久了。
答案 1 :(得分:2)
您可以将lifetime
选项设置为35791394
。它是maximum possible number for 32-bit machines:
'lifetime' => 35791394, // Session will expire in 68 years.
答案 2 :(得分:2)
您可以设置一些大值。我现在已经尝试了7900年
即365 * 24 * 60 * 7990 = 4152240000分钟
'lifetime' => 4152240000