我正在寻找一种在Ruby on Rails应用程序中使用基于内存的会话存储的方法.会话包含一个主密钥,只能在用户登录时解密.该密钥应在整个会话期间可用.
由于此密钥的性质,会话的内容不应存储在本地的任何位置.此外,我不想将内容传输到任何外部应用程序,如memcached.
因此,是否可以只使用类似于PHP或Java SE的基于内存的会话存储?
从版本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'
请注意,您需要更改密钥'_your_app_session'
以匹配您的应用程序名称(如果您的应用程序已命名,calculator
那么应该是'_calculator_session'
)...