在Rails security code中声明会话默认存储为客户端的cookie,但是它没有说明如何切换到服务器端存储。它只是说:
Rails为会话哈希提供了几种存储机制。该 最重要的是ActionDispatch :: Session :: CookieStore
我已根据此blog进行了一些搜索:
从Rails 4开始,Active Record会话存储已从核心框架中删除,现已弃用。
它说服务器端存储有一个Gem,但它表示没有保证支持Rails 4.1及更高版本。
因此,对于rails中的服务器端会话存储没有核心支持吗?
答案 0 :(得分:1)
支持服务器端会话存储 - 请参阅http://guides.rubyonrails.org/action_controller_overview.html#session
相关位:
会话仅在控制器和视图中可用,并且可以使用多种不同的存储机制之一:
ActionDispatch :: Session :: CookieStore - 存储客户端上的所有内容。 ActionDispatch :: Session :: CacheStore - 将数据存储在Rails缓存中。 ActionDispatch :: Session :: ActiveRecordStore - 使用>将数据存储在数据库中积极记录。 (需要activerecord-session_store gem)。 ActionDispatch :: Session :: MemCacheStore - 将数据存储在memcached集群中(这是一个遗留实现;请考虑使用CacheStore)。
和...
如果您需要不同的会话存储机制,可以在config / initializers / session_store.rb文件中更改它
如果您在周围搜索,还会发现其他服务器端会话存储选项,这些选项不属于Rails核心,使用Redis之类的东西。