【发布时间】:2013-06-27 15:38:56
【问题描述】:
我正在开发一个具有用户登录功能的 Rails 应用程序。
我在浏览器的 cookie 中使用 auth_token 来识别会话中的用户。
但是好像每次关闭浏览器,使用自动登录; auth_token 仍然存在。
这是我在代码中所做的:
if login_params[:remember_me] == "1"
cookies.permanent[:auth_token] = user.auth_token
else
cookies[:auth_token] = user.auth_token
end
我认为,当“remember_me”没有被勾选时,这个auth_token会在浏览器重启后过期。
我用“web developer”检查了cookie,发现auth_token过期了 在会话结束时。
既然它在会话结束时过期,为什么我重新启动浏览器后它仍然存在?
【问题讨论】:
-
设置cookie时可能需要手动设置过期时间
-
@jquadrin 我只是将 auth_token cookie 设置为 1 秒后过期,它可以工作。
-
@jquadrin 但是,我还是想问一下:浏览器中的“会话结束时过期”没有按我的预期工作;或者这只是我们处理会话 cookie 的常用方法?
-
我发现它对我来说是一种常见的方法,因为它似乎是唯一可行的方法
标签: ruby-on-rails google-chrome session-cookies