ruby-on-rails - 典狱长 :renew option

标签 ruby-on-rails ruby devise warden

我正在使用 devise (1.5.3) 和 warden (1.1.1),我不需要在用户登录/注册后更新 session_id

https://github.com/hassox/warden/blob/master/lib/warden/proxy.rb#L160

  if opts[:store] != false && opts[:event] != :fetch
    options = env[ENV_SESSION_OPTIONS]
    options[:renew] = true if options
    session_serializer.store(user, scope)
  end

转储选项:

options {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :coder=># Rack::Session::Cookie::Base64::Marshal:0x00000004f50a10>, id=> "56d54b1b9820ee044151fdb4fdcb89db"}

如何配置 devise/warden 不将 options[:renew] 设置为 true ?

最佳答案

试试这个:

env['rack.session.options'][:renew] = false

关于ruby-on-rails - 典狱长 :renew option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9839542/

相关文章:

javascript - 在 Rails ActiveAdmin 中使用 D3

ruby - 数组到哈希转换的更好方法

Ruby:获取对象之间不同属性的列表

ruby-on-rails - 设计无密码更新用户

ruby-on-rails - 在Devise中自定义空白错误

ruby-on-rails - 从清除 session 中停止设计

ruby-on-rails - 如何组织大型 Rails 应用程序?

ruby-on-rails - 当现有用户尝试注册时登录 - 设备

ruby-on-rails - 无法将瘦服务器作为服务启动,RubyGems : Could not find thin

ruby-on-rails - Capistrano 部署因 rake 运行而失败(rails3 + rvm)