Rails,CookieStore与ActiveRecordStore

rel*_*eod 1 activerecord store ruby-on-rails cookiestore

我目前正在遇到一个奇怪的问题,我们的用户正在退出.我无法明确地重现它.

Rails应用程序使用默认的CookieStore.

我最初的假设是,某种程度上 cookie中的会话数据,甚至cookie本身都被破坏了.这可能来自用户清除浏览器数据,也可能是系统中尚未捕获的内容.

截至目前,身份验证系统似乎正在按预期运行(Authlogic),我们在应用程序的其他组件中没有遇到广泛的问题.

我正在考虑使用ActiveRecordStore来查看问题是否已解决.我的理解是会话数据将存储在数据库中,如果删除了cookie,用户将无法注销.

使用CookieStore和ActiveRecordStore有很多已知的优点/缺点吗?

为什么在创建Rails应用程序时,CookieStore是默认值,而不是ActiveRecordStore?

Joh*_*ley 5

我可以回答你的最后两个问题.

  • 如果您在会话中存储敏感数据,则不应使用cookie存储,因为您希望此类数据位于服务器端而不是客户端.

  • cookie存储是默认值,因为Rails会给你一个强烈的提示,即你不应该在会话中存储大量数据,因为cookie存储限制为4 KB.