Rails如何在内存SessionStore中使用

rko*_*elk 1 ruby-on-rails session-store

我正在寻找一种在Ruby on Rails应用程序中使用基于内存的会话存储的方法.会话包含一个主密钥,只能在用户登录时解密.该密钥应在整个会话期间可用.

由于此密钥的性质,会话的内容不应存储在本地的任何位置.此外,我不想将内容传输到任何外部应用程序,如memcached.

因此,是否可以只使用类似于PHP或Java SE的基于内存的会话存储?

Var*_*mus 5

Rails 5

从版本5开始,Rails不再config/initializers/session_store.rb在安装时创建文件.

在rails 5中,默认会话存储在内部设置(到cookie存储),而不再通过应用程序初始化程序,就像Rails 4的情况一样.https://github.com/rails/rails/issues/25181

在纯Rails 5应用程序(=非迁移)中,要更改会话存储,例如从更改:cookie_store:cache_store,您必须自己创建config/initializers/session_store.rb文件,然后添加相关指令:

# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cache_store, key: '_your_app_session'
Run Code Online (Sandbox Code Playgroud)

请注意,您需要更改密钥'_your_app_session'以匹配您的应用程序名称(如果您的应用程序已命名,calculator那么应该是'_calculator_session')...