如何设置Laravel登录持久化功能,实现记住我功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计942个文字,预计阅读时间需要4分钟。
Laravel 的记住我功能依赖于数据库中 `users` 表的 `remember_token` 字段。如果该字段为 `NULL` 或未正确写入,选择记住我将无效。Laravel 不会自动创建或迁移这个字段——它仅在执行 `php artisan make:auth`(旧版)或手动添加字段时存在。
实操建议:
- 检查
users表是否有remember_token字段,类型应为varchar(100),允许NULL - 如果没有,新建迁移:
php artisan make:migration add_remember_token_to_users_table,并在up()中添加:$table->rememberToken(); - 确保登录逻辑调用的是
Auth::attempt([...], $request->filled('remember')),而不是硬编码true或漏掉第二个参数
登录后 Cookie 没有持久化,关浏览器就登出
“记住我”生效的前提是 Laravel 正确设置了长期有效的 remember_web_* Cookie,而它受 session.lifetime 和 remember_me_seconds 两个配置共同影响——很多人只改了前者,忘了后者。
本文共计942个文字,预计阅读时间需要4分钟。
Laravel 的记住我功能依赖于数据库中 `users` 表的 `remember_token` 字段。如果该字段为 `NULL` 或未正确写入,选择记住我将无效。Laravel 不会自动创建或迁移这个字段——它仅在执行 `php artisan make:auth`(旧版)或手动添加字段时存在。
实操建议:
- 检查
users表是否有remember_token字段,类型应为varchar(100),允许NULL - 如果没有,新建迁移:
php artisan make:migration add_remember_token_to_users_table,并在up()中添加:$table->rememberToken(); - 确保登录逻辑调用的是
Auth::attempt([...], $request->filled('remember')),而不是硬编码true或漏掉第二个参数
登录后 Cookie 没有持久化,关浏览器就登出
“记住我”生效的前提是 Laravel 正确设置了长期有效的 remember_web_* Cookie,而它受 session.lifetime 和 remember_me_seconds 两个配置共同影响——很多人只改了前者,忘了后者。

