设置了active_record_store,但仍然创建了cookie

时间:2011-11-02 19:23:27

标签: ruby-on-rails activerecord session-cookies

我在session_store.rb

中有这个

Trunk :: Application.config.session_store:active_record_store,:key => '_eg2_session_id',:domain =>域

我运行了会话迁移。会话表就在那里,并且在其中创建了记录,但是也会创建cookie。知道为什么吗?

1 个答案:

答案 0 :(得分:1)

仍然需要cookie将访问站点的用户映射到数据库中的会话。更改session_store时您要更改的内容是存储数据的位置。

所以,你设置的方式,大致会发生这种情况:

  • 用户访问网站
  • 在数据库中创建的会话
  • 使用会话ID
  • 创建的Cookie
  • 您将user_id => 5存储在会话中,并将其添加到数据库中

当你使用cookie商店时,会发生以下情况:

  • 用户访问网站
  • 使用会话数据创建的Cookie
  • 您将user_id => 5存储在会话中,并将其添加到Cookie

在这两种情况下,都会创建一个cookie来将访问者与会话相关联,只是会话中的数据存储在不同的地方。