如何使用设计配置超时



Model:

devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds

发展.rb:

config.timeout_in = 10.seconds

devise.rb:

config.timeout_in = 10.seconds

您是否希望页面刷新并再次显示登录页面?如果是这样,则不是超时功能的工作方式。如果您希望它在刷新时显示登录页面,请从模型中删除超时部分,并将以下内容放在 devise.rb NOT development.rb 中。不要忘记重新启动 rails 服务器。

config.timeout_in = 1.hour

这一切都记录在设计维基中 这里

另外,我不确定 10 秒背后的逻辑??似乎有点太短了。如果仍然不起作用,请增加到(例如)五分钟并进行测试。

也可以动态设置timeout_in选项

class User < ActiveRecord::Base
  devise (...), :timeoutable
  def timeout_in
    if self.admin? 
      1.year
    else
      2.days
    end
  end
end

最新更新