【问题标题】:Is server side session storage not enabled in rails 4.1Rails 4.1 中是否未启用服务器端会话存储
【发布时间】:2015-07-16 07:52:28
【问题描述】:

Rails security code 中声明会话默认存储为客户端的cookie,但它没有说明如何切换到服务器端存储。它只是说:

Rails 为会话哈希提供了多种存储机制。这 最重要的是 ActionDispatch::Session::CookieStore

我做了一些搜索,并根据这个blog

从 Rails 4 开始,Active Record 会话存储已从核心框架中移除,现已弃用。

它说有一个用于服务器端存储的 Gem,但它说不保证支持 Rails 4.1 及更高版本。

那么 Rails 中是否没有对服务器端会话存储的核心支持?

【问题讨论】:

    标签: ruby-on-rails ruby session


    【解决方案1】:

    支持服务器端会话存储 - 请参阅 http://guides.rubyonrails.org/action_controller_overview.html#session

    相关位:

    会话仅在控制器和视图中可用,并且可以使用多种不同的存储机制之一:

    ActionDispatch::Session::CookieStore - 将所有内容存储在客户端。 ActionDispatch::Session::CacheStore - 将数据存储在 Rails 缓存中。 ActionDispatch::Session::ActiveRecordStore - 使用 > Active Record 将数据存储在数据库中。 (需要 activerecord-session_store gem)。 ActionDispatch::Session::MemCacheStore - 将数据存储在 memcached 集群中(这是一个遗留实现;请考虑改用 CacheStore)。

    还有……

    如果您需要不同的会话存储机制,可以在 config/initializers/session_store.rb 文件中进行更改

    如果您四处搜索,您还会发现其他不属于 Rails 核心的服务器端会话存储选项,使用 Redis 之类的东西。

    【讨论】:

      猜你喜欢
      • 2011-10-03
      • 1970-01-01
      • 2017-09-03
      • 2012-09-04
      • 1970-01-01
      • 2018-06-23
      • 2011-01-19
      • 2019-05-23
      • 2015-11-26
      相关资源
      最近更新 更多