Подтвердить что ты не робот

Установка продолжительности сеанса с помощью программы

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

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

Спасибо

4b9b3361

Ответ 1

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

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

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

Ответ 2

С 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

Ответ 3

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