1

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

4

2 回答 2

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,该 lambda 返回一个 Time 对象,该对象在未来某个时间发生。

于 2012-05-12T00:57:40.870 回答
0

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

默认情况下,它看起来像 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 上提问。有时开发人员会在那里闲逛,他们会提出问题。

于 2012-05-12T00:56:52.600 回答