嗨,我正在使用 Devise LDAP Authenticatable gem,我遇到了一些问题,试图正确地使会话 cookie 无效。
前任:
- 用户登录到应用程序并保存他的会话 cookie
- 用户注销并获得一个新的会话 cookie
- 用户可以通过强制浏览器使用他保存的旧会话 cookie 来重新登录服务器
这是一个我需要解决的安全问题,因为这允许黑客仅嗅探 cookie 并将自己验证为登录到应用程序的授权用户。
似乎当我调用 destroy_user_session_path 时,Devise LDAP 实际上并没有使旧会话无效,而是它只是创建一个新会话并将其提供给用户浏览器。
是否有任何设计设置可以用来更改此设置。我真的不想自己更改实际的设计宝石。
设计.rb
Devise.setup do |config|
config.ldap_create_user = true
config.ldap_update_password = false
config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
require 'devise/orm/active_record'
config.authentication_keys = [ :email ]
config.case_insensitive_keys = [ :email ]
config.strip_whitespace_keys = [ :email ]
config.skip_session_storage = [:http_auth]
config.stretches = Rails.env.test? ? 1 : 10
config.reconfirmable = true
config.reset_password_within = 6.hours
config.sign_out_via = :delete
end