4

Вопрос по ruby-on-rails, ruby-on-rails-3, ruby, session – Определить, когда истекает сессия разработки

Я хотел бы записать, когда время сеанса пользователя истекло, используя devise и:timeoutable. В данный момент,:timeoutable работает должным образом и перенаправляет пользователей на страницу входа после указанного периода бездействия, но ...

2 ответа

0

Я думаю, что вам нужно зарегистрировать время, когда пользователь нажимает кнопку «Выйти». в явном виде. Так как:timeoutable имеет период времени по умолчанию, после которого сеанс пользователя автоматически истекает.

Вы можете сделать запись & quot; выйти из системы & quot; деятельность по созданиюSessions_Controller который наследует отDevise::SessionsController, После регистрации текущего времени не забудьте сделатьsuper.

1

я не видел никаких хуков, но вы могли бы просто переопределить код в модуле timeutable, который используется devise:

module Devise
  module Models
    module Timeoutable
      def timedout?(last_access)
        #  your custom code goes into this method
        return false if remember_exists_and_not_expired?
        !timeout_in.nil? && last_access && last_access <= timeout_in.ago
      end
    end
  end
end

Похожие вопросы