Скажем, пользователь просматривает веб-сайт, а затем выполняет какое-то действие, которое меняет базу данных (скажем, они добавляют комментарий). Однако, когда поступает запрос на фактическое добавление комментария, мы обнаруживаем, что должны заставить их войти в систему, прежде чем они смогут продолжить.
Предположим, что на странице входа запрашивается имя пользователя и пароль, и перенаправляет пользователя обратно на URL-адрес, на который он шел, когда требовался вход в систему. Этот редирект работает для URL-адреса только с параметрами GET, но если запрос изначально содержал некоторые данные HTTP POST, теперь он теряется.
Кто-нибудь может порекомендовать способ справиться с этим сценарием, когда задействованы данные HTTP POST?
Очевидно, что при необходимости страница входа в систему может динамически генерировать форму со всеми параметрами POST для их передачи (хотя это выглядит грязно), но даже в этом случае я не знаю способа перенаправления страницы входа в систему пользователь на своей предполагаемой странице, сохраняя данные POST в запросе.
Редактировать : одно дополнительное ограничение, которое я должен был прояснить - представьте, что мы не знаем, потребуется ли вход в систему, пока пользователь не отправит свой комментарий. Например, срок их файла cookie может истек после загрузки формы и фактического отправки комментария.