Как отправить веб-запрос в браузер по умолчанию из приложения WPF? - PullRequest
0 голосов
/ 22 марта 2011

Я работаю в приложении WPF, которое является настольной частью веб-сайта.

Идея состоит в том, что приложение должно иметь те же функциональные возможности, что и веб-сайт, но для первого выпуска приложения не все функции будут доступны, поэтому я хочу поставить ссылку на функции, которые недоступны и все же, я надеюсь, что когда пользователь нажмет на эту ссылку, я хочу перевести их на веб-сайт, на страницу с этими функциями.

Пока что я могу сделать это без проблем, с помощью команды оболочки я могу открыть браузер по умолчанию и отправить запрос нужному мне ресурсу на сайте.

Теперь сложность заключается в том, что я хочу использовать учетные данные, которые пользователь использовал в настольном приложении для аутентификации на веб-сайте, поэтому пользователю не нужно снова проходить аутентификацию, я думал при отправке учетных данных, зашифрованных в заголовок, но я не знаю, как я могу это сделать, как я могу отправить заголовок в веб-браузер из моего приложения.

Есть идеи, как это сделать?

Кстати, веб-сайт использует проверку подлинности с помощью форм.

Спасибо.

1 Ответ

0 голосов
/ 22 марта 2011

Вы можете попробовать передать файл cookie для проверки подлинности с помощью форм как часть веб-запроса.

Uri uri = new Uri("http://services.mysite.com/document/documentservice.svc");
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);       

HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
Cookie authenticationCookie = new Cookie(FormsAuthentication.FormsCookieName, cookie.Value, cookie.Path, HttpContext.Current.Request.Url.Authority);

webRequest.CookieContainer = new CookieContainer();
webRequest.CookieContainer.Add(authenticationCookie);
WebResponse myResponse = webRequest.GetResponse();
Stream stream = myResponse.GetResponseStream();

попытаться эту ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...