所以我在设计的可记忆模块上遇到了麻烦。我已正确实现了所有设置:我添加:可记住我的用户模型,将remember_created_at添加到users表,并在登录页面上添加:remember_me复选框。
我可以确认,如果用户登录但未选中“记住我”复选框,则表示已创建cookie,现在已过期,并且remember_created_at字段设置为null。如果用户选中该复选框,则时间戳会保存在remember_created_at字段中,并且Cookie的到期日期将设置为默认的2周。
所以我遇到的问题:
如果我没有选中“记住我”复选框并登录,请关闭浏览器,然后返回到我仍然登录的应用程序。如果用户不想被记住,那不是想法当浏览器关闭时会话被销毁?或者我误解了这个?
为了测试目的,我将:remember_for选项更改为1.minute
。所以我在登录前检查了记住我的框,并验证了cookie的到期日期是否正确,并且时间戳保存在remember_created_at中。然后我关闭了浏览器并等了大约2分钟。然后我再次打开浏览器,我仍然登录。我错过了什么,或者我只是不正确理解可记忆的模块?
感谢。
答案 0 :(得分:11)
我遇到了与Devise Rememberable相同的问题,直到我发现Chrome关闭浏览器后“浏览会话结束”的会话cookie没有到期时“启动时”选项 - “继续我离开的地方”是在“设置”中启用。
答案 1 :(得分:2)
所以问题是我不是设计宝石。当我在测试时,我正在关闭浏览器选项卡,而不是整个浏览器。