ruby-on-rails-3 – 用于rails应用程序的安全会话cookie
发布时间:2020-12-17 03:39:39 所属栏目:百科 来源:网络整理
导读:我的session_store.rb中有以下配置 Fuel::Application.config.session_store :cookie_store,:key = "_secure_session",:secure = !(Rails.env.development? || Rails.env.test?),:domain = :all 在application_controller.rb中 def default_url_options retu
我的session_store.rb中有以下配置
Fuel::Application.config.session_store :cookie_store,:key => "_secure_session",:secure => !(Rails.env.development? || Rails.env.test?),:domain => :all 在application_controller.rb中 def default_url_options return { :only_path => false,:port => 443,:protocol => 'https' } end 我正在使用设计,我的rails3服务器在HAProxy后面运行. HAProxy终止HTTPS流量并将HTTP请求传递给Rails.我的问题是当我打开时:secure =>如果在session_store.rb中为true,则会将用户重定向回登录页面,并显示消息“Unauthorized”.我已经尝试了很多调试,不知道如何让它工作. 在这种情况下,HAProxy是反向代理,终止所有安全流量并将非安全流量传递给rails.当rails将cookie设置为安全时,它本身无法访问它. 解决方法
对于您的正常会话cookie,您正确地执行此操作.您应该在浏览器中看到’_secure_session’cookie正确设置为安全.对于Devise“记住我”cookie,您需要在设计配置中设置它.在config / initializers / devise.rb中,你会在第133行的某处看到一条直线
# Options to be passed to the created cookie. For instance,you can set # :secure => true in order to force SSL only cookies. # config.cookie_options = {} 我把它改为: config.rememberable_options = {:secure => Rails.env.production?} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |