【问题标题】:Some of my users are being logged out of their sessions我的一些用户正在退出他们的会话
【发布时间】:2017-06-01 00:01:03
【问题描述】:

我使用 Devise 构建了一个 Rails 站点进行身份验证。即使我尝试将 devise.rb 中的 config.remember_for 设置为 2 周,甚至 10 年,但有些用户甚至会在一分钟后被注销。

config.remember_for = 10.years

不是每个人都遇到这个问题。当我登录该站点时,无论我是使用笔记本电脑还是 iPhone 6S+,它都不会将我注销。部分 iOS 10.2 的 iPhone 7S+ 用户遇到此问题,但我不知道问题是否仅限于他们。

我已将站点从 Rails 4.2.6 升级到 5.0.1,将 Devise 从 3.5.6 升级到 4.2.0,将 Ruby 从 2.3.0 升级到 2.4.0,并将 Web/应用服务器从 Passenger 更改为Puma 3.6.2,但这些更改都没有解决问题。

有解决此问题的建议吗?谢谢!

【问题讨论】:

    标签: ruby-on-rails session devise session-cookies ruby-on-rails-5


    【解决方案1】:

    AFAIK remember_for 仅与设计保留“记住我”令牌的时间有关,与登录会话的持续时间无关。

    我相信您正在寻找的是更改timeoutable config

    # ==> Configuration for :timeoutable
    # The time you want to timeout the user session without activity. After this
    # time the user will be asked for credentials again. Default is 30 minutes.
    config.timeout_in = 90.minutes
    

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      相关资源
      最近更新 更多