我的应用程序中有以下行,它让默认 cookie 过期日期为 20 分钟。
Rails.application.config.session_store :cookie_store, key: '_rails-omniauth_session', expire_after: 20.minutes
Bu 出于某些原因我想设置特定的到期日期。我尝试了以下几行,但他们做不到。
request.session_options[:expire_after] = 2.years
ActionController::Base.session_options[:expire_after] = 2.years
如何设置自定义到期日期?
昂建议,
谢谢。
最佳答案
如果您需要通过应用程序中的所有 Controller 为 session 设置有效期,只需将以下选项添加到您的 config/intializers/session_store.rb
文件中:
:expire_after => 60.minutes
如果需要在不同的controller或者action中设置不同的过期时间,在action中或者一些before_filter
中使用如下代码:
request.session_options = request.session_options.dup
request.session_options[:expire_after] = 5.minutes
request.session_options.freeze
Duplication of the hash is needed only because it is already frozen at that point
关于ruby-on-rails - Ruby on Rails session 过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44859453/