我正在使用WPF应用程序,该应用程序是网站的桌面计数器。
这个想法是应用程序应该具有与网站相同的功能,但是对于应用程序的第一个版本,并非所有功能都可用,因此我想在不可用的功能上添加链接然而,当用户点击该链接时,我希望将它们带到网站,以及该功能的页面。
到目前为止,我可以毫无困难地执行此操作,使用shell命令我可以打开默认浏览器并将请求发送到我在网站上需要的资源。
现在,棘手的部分是我想使用用户在桌面应用程序中使用的凭据来对网站进行身份验证,因此用户无需再次进行身份验证,我在考虑发送加密的凭据标题,但我不知道如何做到这一点,如何从我的应用程序将标题发送到Web浏览器。
关于如何做到这一点的任何想法?
BTW网站正在使用表单身份验证。
感谢。
答案 0 :(得分:0)
您可以尝试将表单身份验证Cookie作为webrequest的一部分传递。
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();
尝试this链接