清除宝石|关闭Rails 5中的浏览器后,会议到期



当用户关闭浏览器时,我该如何自动登录?清除GEM中是否有任何配置更改可以启用此。

创建一个cookie-在带有cookie的用户计算机上创建或设置cookie 名称,cookie值以及饼干应删除的时间 自动(到期,这是可选的)。如果不是 指定的cookie称为会话cookie,它已过期(获取 删除)当用户的会话结束时,即关闭浏览器时

来源

换句话说,如果您没有在cookie上设置到期日期,则在关闭浏览器时应该"到期"。

我从未使用过清关,但是读书我在/config/initializers/clearance.rb中显示了此配置选项:

Clearance.configure do |config|
  config.allow_sign_up = true
  config.cookie_domain = ".example.com"
  config.cookie_expiration = lambda { |cookies| 1.year.from_now.utc }
  config.cookie_name = "remember_token"
  config.cookie_path = "/"
  config.routes = true
  config.httponly = false
  config.mailer_sender = "reply@example.com"
  config.password_strategy = Clearance::PasswordStrategies::BCrypt
  config.redirect_url = "/"
  config.rotate_csrf_on_sign_in = false
  config.secure_cookie = false
  config.sign_in_guards = []
  config.user_model = User
end

如果我是你,我会尝试将cookie_expiration设置为无。但是,如果需要到期,您可能需要分叉宝石,看看是否可以根据您的需求更改此处的私有API。

如果您不想这样做,则可以在清除中创建警卫。当用户登录时,请在没有到期日期的情况下设置自己的cookie。当用户关闭浏览器时,应该删除您的自定义cookie。然后,在警卫中,当身份验证再次发生时,您应该能够检查自定义cookie,并且(未找到)拒绝auth并将其重定向到sign_in。

相关内容

  • 没有找到相关文章

最新更新