所以我在设计的可记忆模块上遇到了麻烦。我已经正确实现了所有设置:我将 :rememberable 添加到我的用户模型中,将 remember_created_at 添加到用户表中,并在登录页面上添加了 :remember_me 复选框。
我可以确认,如果用户在没有选中记住我复选框的情况下登录,则创建了一个 cookie,现在过期,并且 remember_created_at 字段设置为 null。如果用户选中复选框,则会在 remember_created_at 字段中保存时间戳,并且 cookie 的到期日期设置为默认 2 周。
所以我遇到的问题:
如果我不选中记住我复选框并登录,请关闭浏览器,然后返回我仍然登录的应用程序。如果用户不想在浏览器关闭时被记住,这不是想法吗会话被破坏?还是我对此有误解?
出于测试目的,我将 :remember_for 选项更改为
1.minute
. 所以我在登录前检查了记住我的框,并验证了 cookie 的过期日期是正确的,并且时间戳保存在 remember_created_at 中。然后我关闭了浏览器并等待了大约 2 分钟。然后我再次打开浏览器,我仍然登录。我是否遗漏了什么,或者我只是没有正确理解可记忆模块?
谢谢。