В настольном приложении я использую службу REST.Перенаправление проверки подлинности вручную при использовании службы REST в .NET.
Услуга выполняет пользовательскую аутентификацию. Когда URI вызывается в браузере (запрос GET), в браузере появляется страница аутентификации, и вы должны ввести свои учетные данные. После успешной проверки подлинности вы будете перенаправлены обратно на исходный адрес. Запрос GET снова отправляется браузером, и вы получаете ответ службы (документ JSON).
Моя цель - каждый раз, когда вызывается служба, и учетные данные пользователя не предоставляются (coockie после успешной проверки подлинности), маска входа должна отображаться в веб-элементе управления в рабочем приложении, а не в новом окне браузера.
Моя реализация довольно примитивно:
var proxy = new WebClient();
var str = proxy.DownloadString("https://mycompany.net/myservice/Entity/123");
Моя проблема заключается в том, что в случае, если не предусмотрены учетные данные пользователя, запрос не сгенерирует исключение ни событие, не увольняют. Но в строке ответа я вижу содержимое HTML на странице аутентификации. Таким образом, перенаправление происходит как-то внутри, и я не мог знать, является ли возвращенная строка объектом JSON или некоторой HTML-страницей.
Можете ли вы рассказать мне, использую ли я правильный класс для этой задачи и как я могу перехватить запрос, чтобы знать, что должна быть предоставлена аутентификация?
Я использую услугу из мобильного приложения. Служба REST не находится под моим контролем, поэтому я не могу ее изменить, но я понял, что на странице аутентификации есть маркер входа в URL. Это я буду использовать в качестве проверки, был ли я перенаправлен на страницу входа в систему, а затем я покажу содержимое URL-адреса в WebControl. Спасибо за ваш ответ! ;-) – llasarov