【问题标题】:Devise: How to expire all sessions of one user?设计:如何使一个用户的所有会话过期?
【发布时间】:2017-06-07 08:08:47
【问题描述】:

我知道一种清除登录到应用程序的用户当前会话的方法。

sign_out_and_redirect(current_user)

有没有办法使用设计或其他工具清除一个用户的所有会话,如果可能的话,当前设备上的会话除外?

【问题讨论】:

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


    【解决方案1】:

    在 models/user.rb 中:添加 :timeoutable 以设计模块。

    class User < ActiveRecord::Base
      devise :timeoutable, :timeout_in => 15.minutes
    end
    

    在config/initializers/devise.rb中:设置超时参数。

    Devise.setup do |config|
      config.timeout_in = 3.hours
    end
    

    注意:这适用于所有用户。

    【讨论】:

    • 我认为我正在寻找的是一种手动超时由控制器操作触发的用户的所有会话的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2014-06-14
    • 2012-05-07
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多