【问题标题】:How to set rails session cookie expiration time to "session"如何将 Rails 会话 cookie 过期时间设置为“会话”
【发布时间】:2023-03-27 07:59:01
【问题描述】:

我对 Rails 的那些不在表面上的部分不是很有经验。

我想要的只是有一个会话cookie,它的过期设置为session,这样当用户离开浏览器或其他任何东西时它就会过期。作为安全措施。

【问题讨论】:

    标签: ruby-on-rails ruby session session-timeout


    【解决方案1】:

    默认情况下,cookie 是会话 cookie。 通过在 config/initializers/session_store.rb 中提供选项哈希,您可以完全控制 cookie。选项与Rack::Session::Cookie(see docs) 相同。因此,例如,对于特定的到期日期,您可以提供:expire_after

    如果您使用Deviserememberable 策略,那么还有另一个cookie 可用于检索用户。

    【讨论】:

    • expires_after 似乎不起作用,看起来它应该只是带有日期对象的“过期”。 Rails.application.config.session_store :cookie_store, key: 'Booya', expires: 7.days.from_now
    • @Roman 这也可以用于 ActiveRecord 会话存储吗?
    • 在 Rails 5.2 上,会话 cookie 具有 expires: Session,无论我将 expire_after 设置为什么。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      • 2010-12-19
      • 2016-10-06
      • 2013-02-22
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多