#ajax #ruby-on-rails-3 #authlogic
#ajax #ruby-on-rails-3 #authlogic
Вопрос:
Я установил время истечения срока действия на 10 минут. Если я простаиваю более 10 минут, поэтому после нажатия на ссылку в моем разделе администратора я буду перенаправлен на форму входа с некоторым флэш-сообщением. Это меня устраивает.
Но теперь я решаю проблему, когда я нахожусь на странице, которая была вызвана как AJAX (отображаемая JS). Если я нахожусь на этой странице без дела более 10 минут, а затем я нажму на ссылку в разделе администратора, поэтому я получу сообщение об отсутствии идентификатора (причина в том, что уже не существует сеанса с идентификатором — был уничтожен после нажатия на ссылку после 10 минут простоя).
Теперь я хотел бы узнать о помощи, как проверить, не простаиваю ли я на странице AJAX более 10 минут. Я не знаю, как это сделать.
Для обычной проверки я использую в контроллере следующие:
acts_as_authentic do |c|
c.logged_in_timeout(10.minutes)
end
Заранее благодарю вас.
Ответ №1:
Ну, я думаю, у вас есть два варианта.
Вы можете настроить локальный таймер javascript, который работает 10 минут, а затем переместить вашу страницу.
Или
При каждом запросе ajax сервер контроллера отправляет код ошибки входа в систему, который вы обрабатываете во всех своих вызовах ajax и перенаправляете, если это необходимо.