Devise Rememberable的问题 - 浏览器关闭时无法自动注销

时间:2013-05-29 14:54:21

标签: ruby-on-rails devise remember-me

所以我在设计的可记忆模块上遇到了麻烦。我已正确实现了所有设置:我添加:可记住我的用户模型,将remember_created_at添加到users表,并在登录页面上添加:remember_me复选框。

我可以确认,如果用户登录但未选中“记住我”复选框,则表示已创建cookie,现在已过期,并且remember_created_at字段设置为null。如果用户选中该复选框,则时间戳会保存在remember_created_at字段中,并且Cookie的到期日期将设置为默认的2周。

所以我遇到的问题:

  1. 如果我没有选中“记住我”复选框并登录,请关闭浏览器,然后返回到我仍然登录的应用程序。如果用户不想被记住,那不是想法当浏览器关闭时会话被销毁?或者我误解了这个?

  2. 为了测试目的,我将:remember_for选项更改为1.minute。所以我在登录前检查了记住我的框,并验证了cookie的到期日期是否正确,并且时间戳保存在remember_created_at中。然后我关闭了浏览器并等了大约2分钟。然后我再次打开浏览器,我仍然登录。我错过了什么,或者我只是不正确理解可记忆的模块?

  3. 感谢。

2 个答案:

答案 0 :(得分:11)

我遇到了与Devise Rememberable相同的问题,直到我发现Chrome关闭浏览器后“浏览会话结束”的会话cookie没有到期时“启动时”选项 - “继续我离开的地方”是在“设置”中启用。

答案 1 :(得分:2)

所以问题是我不是设计宝石。当我在测试时,我正在关闭浏览器选项卡,而不是整个浏览器。