首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clearance Gem |关闭Rails 5中的浏览器后是否终止会话?

Clearance Gem |关闭Rails 5中的浏览器后是否终止会话?
EN

Stack Overflow用户
提问于 2019-03-21 02:11:42
回答 1查看 168关注 0票数 0

如何在用户关闭浏览器时自动注销?在clearance gem中是否有任何配置更改可以实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-03-21 02:34:04

创建Cookie -在用户计算机上创建或设置cookie,其中包含cookie名称、Cookie值和应自动删除cookie的时间(属性过期,这是可选的)。如果未指定此项,则cookie称为会话cookie,当用户的会话结束时,即关闭浏览器时,该cookie将过期(被删除

Source

换句话说,如果您没有为cookie设置过期日期,那么它应该在浏览器关闭时“过期”。

我从未使用过Clearance,但ReadMe在/config/initializers/clearance.rb中显示了此配置选项:

代码语言:javascript
复制
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设置为零。但是,如果需要过期,您可能需要派生gem,并查看是否可以根据需要修改私有接口here

如果你不想这样做,你可以在清除中创建一个守卫。当用户登录时,设置您自己的cookie,没有过期日期。当用户关闭浏览器时,应该会删除您的自定义cookie。然后,在您的保护下,当身份验证再次发生时,您应该能够检查您的自定义cookie,并(在找不到它时)拒绝身份验证并重定向到sign_in。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55267563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档