Отправлять данные POST, когда пользователь вошел в систему с использованием проверки подлинности с помощью форм

У меня есть приложение asp.net, которое использует проверку подлинности с помощью форм для управления доступом. Представим, что у нас есть файл page.aspx с формой. Когда я нажимаю кнопку поиска (кнопка отправки в форме), данные POST отправляются в этот сценарий, и я получаю результаты поиска. Однако, если пользователь вышел из системы, затем нажал кнопку «Назад» в браузере, а затем нажал кнопку поиска, пользователь перенаправляется на страницу входа. После входа в систему я получаю эту страницу, но данные POST не отправляются на эту страницу. Есть какой-нибудь простой способ исправить это!


person seeker    schedule 11.10.2012    source источник
comment
Пожалуйста, предоставьте более подробную информацию и любой соответствующий код.   -  person jay_t55    schedule 11.10.2012


Ответы (2)


Данные POST не могут быть отправлены при перенаправлении с ответом перенаправления HTTP. Таким образом, вы должны изменить поток приложения, чтобы определить, что пользователь вышел из системы раньше:

  • Перед отправкой формы проверьте статус входа в систему с помощью запроса ajax
  • Сохраните отправленные данные в cookie, чтобы воссоздать POST после входа в систему
  • Сохраните отправленные данные в сеансе перед перенаправлением на страницу входа
person PanJanek    schedule 11.10.2012
comment
Спасибо, отличная идея. Я думал, что это можно изменить в FormsAuthentication. - person seeker; 11.10.2012
comment
Наверное, вы могли бы сами написать какое-то расширение. Если бы вы могли выполнить свой код, когда было принято решение о перенаправлении на страницу входа, вы могли бы сохранить все данные POST в сеансе или cookie, после входа в систему проверьте, есть ли информация POST в сеансе / cookie, и выполните javascript, чтобы повторить POST - person PanJanek; 11.10.2012

Файл cookie проверки подлинности с помощью форм не является файлом cookie сеанса, поэтому, если у вас все еще есть сеанс пользователя, вы можете сохранить параметры поиска в сеансе пользователя и перезагрузить их после входа в систему.

person AMember    schedule 11.10.2012
comment
Спасибо за идею, но поскольку у меня много страниц, которые отправляют POST, я понимаю, что это непрактично. - person seeker; 11.10.2012