0

我对 ruby​​-on-rails 中的会话有疑问。它在使用 Chrome(27.0.1453.93) 和 Ubuntu 12.10 时出现。

这是我的代码:

if remember == '1'
      cookies.permanent.signed[:remember_token] = [user.id, user.salt]
    else
      session[:remember_token] = [user.id, user.salt]
    end

我在没有“记住”的情况下登录,然后我重新启动 Chrome(在 Ubuntu 上),会话数据不会丢失,同时重新启动 Mozilla 会清除会话数据。

你能解释一下这里发生了什么吗?

我想在两个浏览器中都有相同的行为!

4

1 回答 1

1

这是因为 Chrome (从安全角度来看是错误的)在关闭后不释放会话 cookie。有关这方面的更多信息,请参阅Chrome 不会删除会话 cookie。请注意,如果 FireFox 崩溃并为您提供“恢复打开的会话”,它会做类似的事情(再次,不正确)。其他流行的浏览器目前似乎没有这个问题。

这种不正确的行为也不太可能很快得到修复 - 请参阅http://code.google.com/p/chromium/issues/detail?id=128513

于 2013-05-28T14:35:33.473 回答