在Rails应用程序中使用Clearance的会话超时

时间:2012-05-12 00:41:10

标签: ruby-on-rails ruby timeout clearance

我在我的Rails应用程序中使用Clearance进行身份验证。有谁知道配置会话超时的方法?它在我登录后的5分钟内就把我退出了,我似乎找不到任何指定如何设置超时的东西。

2 个答案:

答案 0 :(得分:2)

当您安装Clearance时,我认为它应该添加了config / initializers / clearance.rb文件。您可以通过使用cookie_expiration配置在那里配置会话超时。从他们的文档中,它看起来像这样:

@example
  Clearance.configure do |config|
    config.mailer_sender     = 'me@example.com'
    config.cookie_expiration = lambda { 2.weeks.from_now.utc }
    config.password_strategy = MyPasswordStrategy
    config.user_model        = MyNamespace::MyUser
  end

所以,只需给cookie一个lambda,它返回一个在将来某个时间发生的Time对象。

答案 1 :(得分:0)

查看rdoc,在Clearance配置类上有一个cookie_expiration方法。这是 - 查看方法的来源:

默认情况下,它看起来像1年:

def initialize
  @mailer_sender     = 'donotreply@example.com'
  @cookie_expiration = lambda { 1.year.from_now.utc }
end

所以我会考虑在配置中覆盖它。

http://rdoc.info:8080/github/thoughtbot/clearance/Clearance/Configuration#cookie_expiration-instance_method

如果您无法找到它,有时您可以在freenode上的Thoughtbot IRC频道#thoughtbot上询问。有时开发人员会在那里闲逛,他们会提出问题。