Я пишу приложение Catalyst, для которого требуется довольно короткий срок действия сеанса (15 минут). Я использую стандартные модули аутентификации фреймворка Catalyst, поэтому пользовательские данные хранятся в сеансе, т. Е. По истечении срока действия сеанса вы выходите из системы.
Для выполнения многих случаев использования этого приложения потребуется> 15 минут, поэтому пользователи часто отправляют форму только для того, чтобы обнаружить, что состояние их сеанса исчезло, и им необходимо снова войти в систему.
Если это произойдет, я хочу сохранить исходную отправку формы, и если они успешно войдут в систему, продолжу и выполню отправку формы так же, как если бы сеанс не истек.
У меня есть аутентификационный материал, который обрабатывается методом auto () в контроллере - если вы запрашиваете действие, требующее аутентификации, и вы в данный момент не вошли в систему, вы будете перенаправлены на метод login (), который отображает форма входа в систему, а затем обрабатывает ее после отправки. Кажется, что должна быть возможность сохранить запрос и любые параметры формы, когда автоматический метод перенаправляет на login (), а затем вытащить их обратно, если login () завершится успешно, но я не совсем уверен в лучшем способ получить или сохранить эту информацию обычным / стандартным / многоразовым способом. (Я рассчитываю сохранить его в сеансе, а затем удалить его, когда он будет извлечен обратно; если это кажется плохой идеей, это еще одна проблема.)
Есть ли для этого стандартный "передовой опыт" или поваренная книга?
(Одна морщина: эти формы отправляются через POST.)