Laravel 登录和注册:一段时间内自动登录 0 个改进

问题

如何实现用户在一周内自动登录,超过一周后就得再次输入密码重新登录呢?

答案

利用 Laravel 的会话机制可以实现此功能。你只需要修改会话相关配置:

config/session.php

.
.
.

// 单位分钟
'lifetime' => 60 * 24 * 7,
'expire_on_close' => false,

设置完以上后,只要确保不要使用 Laravel 的记住我 功能,即可实现 7 天内自动登录的功能。

注意

上面配置的 lifetime 选项不应配置过高的值。

因 Laravel 默认会给所有访问建立会话,设置过长时间,例如说两年,两年内所有用户访问,包括未登录的游客,都会产生会话数据。

如果刚好你的网站有不小的流量,很快系统资源就会被消耗完。这里的资源指的是 session.driver 设置的驱动,假如使用了 redis 作为会话驱动器,Redis 服务会在一段时间后提示内存不够用。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 1

设置session时间意味着登录某段时间后会自动退出对吗?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!