2015-05-25 49 views
2

我正在使用Devise进行身份验证。现在,如果用户忘记注销,我想在登录固定时间后签出用户。我知道设计的timeoutable。它实际上与用户的不活动一起工作。但我需要一些与签署时间有关的工作。注册一段时间后自动注销 - Rails 4

N.B.我在stackoverflow中发现了一些相关的东西,但是他们在3或4年前才回答。我想知道Rails 4中的最佳方式。

在此先感谢。

+0

使用backgound工作。经过唱歌,在提交作业与用户作为一个参数..并从那里检查...间隔..并签署一旦间隔时间到达.. –

+3

这不会是恼人的用户,他们积极与网站(做一些工作),你的忽略它们。 – Sivan

+1

我建议不要自动注销活动用户,否则会给用户带来不好的体验。相反,如果它们处于非活动状态,则可以将它们注销。在这种情况下,您需要简单地从* config/initializers/devise.rb *中取消注释'config.timeout_in = 30.minutes' –

回答

1

在模型

class User < ActiveRecord::Base 
    devise :authenticatable, :timeoutable, :validatable, :timeout_in => 20.minutes 
end 

OR

devise.rb:

config.timeout_in = 20.minutes