在Rails应用程序初始化之后,如何操作会话的到期时间?

时间:2011-01-17 19:34:08

标签: ruby-on-rails memcached

我在我的Rails应用程序中使用dalli memcached客户端进行会话存储。我想允许用户在登录应用时检查“保持登录状态”框,这会导致会话在一个月之后过期。在应用程序初始化中设置过期时间非常简单:

配置/初始化/ session_store.rb

require 'action_dispatch/middleware/session/dalli_store'
Rails.application.config.session_store :dalli_store, :memcache_server => ['host1', 'host2'], :namespace => 'sessions', :key => '_foundation_session', :expire_after => 30.minutes

但是我应该如何操作:appve初始化后的expire_after?

1 个答案:

答案 0 :(得分:2)

我不确定这对你有用,但是 在Rails 2.3中使用db session store你可以在你的行动中使用类似的东西。

request.session_options = request.session_options.dup
request.session_options[:expire_after] = 5.minutes
request.session_options.freeze

我希望它有用

编辑: 我发现了这篇关于rails3的新文章

http://augustl.com/blog/2010/dynamic_session_expiration_time_in_rails_3

我希望它有用