Ruby on rails Rails/Desive-确定用户会话何时过期

Ruby on rails Rails/Desive-确定用户会话何时过期,ruby-on-rails,devise,warden,Ruby On Rails,Devise,Warden,使用Desive的timeoutable模块时,如何确定当前用户的会话将过期多长时间?目标是在所有响应中包含此值,以便客户端脚本可以使用它。我推测Desive内部使用Warden进行身份验证,但我还没有找到任何解释如何将会话过期时间从Warden的深度中拉出来的方法。以下是您的操作方法: class User < ActiveRecord::Base devise :authenticatable, :timeoutable, :validatable, :timeout_in =&g

使用Desive的
timeoutable
模块时,如何确定当前用户的会话将过期多长时间?目标是在所有响应中包含此值,以便客户端脚本可以使用它。我推测Desive内部使用Warden进行身份验证,但我还没有找到任何解释如何将会话过期时间从Warden的深度中拉出来的方法。

以下是您的操作方法:

class User < ActiveRecord::Base
  devise :authenticatable, :timeoutable, :validatable, :timeout_in => 20.minutes
end
class用户20.5分钟
结束

看起来您可以像Benjamin Tan所说的那样将其放入模型中,或者您可以放入config/initializers/develope.rb

# ==> 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 = 30.minutes
请参阅此StackOverflow问题:.

有关Rails 4:

config/initializers/designe.rb

  if Rails.env.production?
    config.timeout_in = 30.minutes
  else
    config.timeout_in = 7.days
  end
class User < ActiveRecord::Base
  devise :timeoutable
end
user.rb

  if Rails.env.production?
    config.timeout_in = 30.minutes
  else
    config.timeout_in = 7.days
  end
class User < ActiveRecord::Base
  devise :timeoutable
end
class用户
我知道,但你的帖子让我意识到这其实就是答案。谢谢如果我希望一个用户有不同的超时,另一个用户有不同的超时,该怎么办?