【问题标题】:Can We Set Session Time-Out for a Specific Sessoin我们可以为特定会话设置会话超时吗
【发布时间】:2019-05-21 15:56:02
【问题描述】:

我目前正在设计上进行双重身份验证,并希望将用户 ID 存储在临时会话中 2 分钟,我只能为此会话设置超时。

session[:user_id] = "USER_ID_HERE"

我想要这样的东西:-

session[:user_id].timeout = 2.minutes

提前致谢

【问题讨论】:

    标签: ruby-on-rails session login devise two-factor-authentication


    【解决方案1】:

    对于这个会话,你也可以在会话中存储当前时间:

    session[:user_id] = "USER_ID_HERE"
    session[:expires_at] = Time.current + 2.minutes
    

    然后,在before_action 中定义一些方法来检查:

    if session[:expires_at] < Time.current
      session.delete(:user_id)
      session.delete(:expires_at)
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多