Установка продолжительности сеанса с помощью Devise - PullRequest
39 голосов
/ 01 февраля 2011

Мои сеансы с тайм-аутом устройства после 1-3 часов бездействия (точно не знаю, как долго). Как я могу настроить это?

Я просмотрел документы и не могу найти настройки для этого.

Спасибо

Ответы [ 3 ]

75 голосов
/ 01 февраля 2011

Посмотрите в config / initializers / devise.rb. Существует множество параметров конфигурации, включая config.timeout_in. По умолчанию в моей версии 30 минут. Вы также можете установить его на самой модели:

class User < ActiveRecord::Base
  devise :timeoutable, :timeout_in => 15.minutes

Теперь вы также можете динамически устанавливать время ожидания .

12 голосов
/ 13 декабря 2015

С Rails4 лучше следовать:

В моделях / user.rb: Добавить : timeoutable к уже существующему списку разработанных модулей.

class User < ActiveRecord::Base
  devise :timeoutable
end

В config / initializers / devise.rb: установить параметр времени ожидания.

Devise.setup do |config|
  config.timeout_in = 3.hours
end
6 голосов
/ 07 декабря 2016

Global:

class User < ActiveRecord::Base
  devise (...), :timeoutable
end

Devise.setup do |config|
  config.timeout_in = 3.hours
end

Также можно динамически установить параметр timeout_in

class User < ActiveRecord::Base
  devise (...), :timeoutable

  def timeout_in
    if self.admin? 
      1.year
    else
      2.days
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...