У меня есть приложение asp.net, которое использует проверку подлинности с помощью форм для управления доступом. Представим, что у нас есть файл page.aspx с формой. Когда я нажимаю кнопку поиска (кнопка отправки в форме), данные POST отправляются в этот сценарий, и я получаю результаты поиска. Однако, если пользователь вышел из системы, затем нажал кнопку «Назад» в браузере, а затем нажал кнопку поиска, пользователь перенаправляется на страницу входа. После входа в систему я получаю эту страницу, но данные POST не отправляются на эту страницу. Есть какой-нибудь простой способ исправить это!
Отправлять данные POST, когда пользователь вошел в систему с использованием проверки подлинности с помощью форм
comment
Пожалуйста, предоставьте более подробную информацию и любой соответствующий код.
- person jay_t55   schedule 11.10.2012
Ответы (2)
Данные POST не могут быть отправлены при перенаправлении с ответом перенаправления HTTP. Таким образом, вы должны изменить поток приложения, чтобы определить, что пользователь вышел из системы раньше:
- Перед отправкой формы проверьте статус входа в систему с помощью запроса ajax
- Сохраните отправленные данные в cookie, чтобы воссоздать POST после входа в систему
- Сохраните отправленные данные в сеансе перед перенаправлением на страницу входа
person
PanJanek
schedule
11.10.2012
Спасибо, отличная идея. Я думал, что это можно изменить в FormsAuthentication.
- person seeker; 11.10.2012
Наверное, вы могли бы сами написать какое-то расширение. Если бы вы могли выполнить свой код, когда было принято решение о перенаправлении на страницу входа, вы могли бы сохранить все данные POST в сеансе или cookie, после входа в систему проверьте, есть ли информация POST в сеансе / cookie, и выполните javascript, чтобы повторить POST
- person PanJanek; 11.10.2012
Файл cookie проверки подлинности с помощью форм не является файлом cookie сеанса, поэтому, если у вас все еще есть сеанс пользователя, вы можете сохранить параметры поиска в сеансе пользователя и перезагрузить их после входа в систему.
person
AMember
schedule
11.10.2012
Спасибо за идею, но поскольку у меня много страниц, которые отправляют POST, я понимаю, что это непрактично.
- person seeker; 11.10.2012