| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Post Request and Redirect |
| Автор: Boing747 4.1.2008, 17:32 |
| Приветствую. Есть приложение, которое сначала проверяет, залогинен ли юзер, а затем редиректит его на запрошеную страницу. Если он не залогинен, то сначала пересылаем его на страницу для авторизации, а затем переходим на ту страницу, которую он хотел. Запрос страницы мы сохраняем. Он может быть как Get так и Post. С Get-ом понятно - простой Redirect. Что делать с постом? Запрашиваемая страница не обязательно принадлежит этому сайту. Т е возможен случай, когда это Web - служба , к примеру, которая не поддерживает GET запрос, т е не удастся переделать запрос в GET и отправить. Можно конечно побалываться с HttpWebRequest, и так отправить запрос, получить страницу, а потом ее как то отобразить, но мне кажется, что это не правильно. Есть идеи? Спасибо. |
| Автор: Mymik 4.1.2008, 21:20 |
Немного не понимаю вопроса :( а что тебе мешает обращаться в POST точно так же как и с GET ??? |
| Автор: tol05 4.1.2008, 22:07 |
это как? Ты на макрософт хочешь попасть, а твои запросы винград перехватывает и говорит, что ты не залогинен? Давай код, может тогда хоть что-то поймем. |
| Автор: Boing747 5.1.2008, 14:24 | ||
Хороший пример с Майкрософтом. Кода пока нет, ну т е почти нет, он по большей части еще в голове. Попытаюсь так объяснить, на примере Майкрософта: К примеру есть ссылка http://MySystem/getPage.aspx?_page=page1 Мы идем на http://MySystem/getPage.aspx и проверяем, залогинился ли ты на MySystem, если да, то лезим в базу данных и смотрим, что странице "page1" соответствует "http://www.microsoft.com" и загружаем тебе ее, иначе идем на строницу с логином. Т е, мы заходим на сайт Майкрасофта через MySystem. |
| Автор: tol05 5.1.2008, 17:15 |
| ну так и делай на сайт MySystem обычную аутентификацию, а в getPage.aspx (на нее попадут только аутентифицированные пользователи) смотришь HttpRequest.QueryString для GET или HttpRequest.Form для POST. Узнаешь целевую страницу и делаешь на нее Response.Redirect (или Server.Transfer) - как лучше, сам смотри. Для надежности на втором сайте (на который редирект делаешь) можно посмотреть в Request.Cookie есть ли куки, добавленные первым сайтом (тем, который проводил аутентификацию). Только куки должны быть устаревающие. |
| Автор: Boing747 5.1.2008, 17:52 | ||
|
| Автор: tol05 5.1.2008, 23:16 | ||||||
| Используй куки. Пример: На странице Default.aspx имеется одна кнопка, в обработчике клика которой код
на странице Default2.aspx проверяется наличие кука от приложения, проводившего аутентификацию
ну а что ты имеешь в виду, когда говоришь о Redirect-е с Get-ом мне непонятно... Поставь в Default2.aspx брейкпоинт где-нибудь и посмотри Request дебаггером... Я увидел, что
|
| Автор: Boing747 8.1.2008, 21:30 | ||
|