有谁知道如何提供凭据的WebView控件(甚至更好? - 在一个特定的域用户的上下文中运行Windows 8的Metro风格应用程序/应用程序的WinRT),我试过以下HttpClient的+的WebView方法,因为在这里列出( http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/05e46a0a-e913-469d-a4a5-4a805dcf158a),但它仍然会提示用户输入凭据,因为在返回的内容有链接受保护的项目。
我有一个的NetworkCredential对象,我几乎想将它应用到被做每一个HTTP调用。
当然一定有人这样做过? :)
为了连接到网站在企业网络上,您必须启用您Package.appxmanifest的privateNetworkClientServer能力。 您可以在XML做到这一点还是在Visual Studio中的文件,您可以双击和使用设计(功能选项卡)。 在UI,它被称为“家庭或工作网络”。
现在,您可以访问您可以导航到该网站的内部网,但系统会提示您提供凭据。 如果你希望用户域身份自动提供(在企业单点登录),你需要启用enterpriseAuthentication能力以及。 这是在清单UI称为“企业身份验证”。
从那里,你应该能够使用的WebView浏览到任何Intranet站点,而不必进行身份验证。 如果你正在寻找做的WebView以外的事情,你应该看看下面的文章和样本:
使用WebAuthenticationBroker:
http://code.msdn.microsoft.com/windowsapps/Web-Authentication-d0485122
WebAuthenticationBroker有一个名为UseCorporateNetwork的选项。 确保沿着上面的样品中以下时使用。
最后,如果你想要做单点登录其他网站,如Facebook或Flicr,看到这个示例:
http://msdn.microsoft.com/en-US/library/windows/apps/xaml/Hh465283
我已经跨越同样的问题来了,但幸运的是找到了答案:)这里的主要问题是,Windows应用商店的应用程序包含2点不同势的HttpClient的
其中之一就是“经典”的一个,我们知道从C#应用程序(自动使用),另一种是“新”的HttpClient - 这是用的WebView连接:)
贝娄是两种类型:System.Net.Http.HttpClient(经典之一)Windows.Web.Http.HttpClient(新)
所以请记住申报新的,这样做的代码波纹管
var filter = new HttpBaseProtocolFilter();
filter.ServerCredential = new Windows.Security.Credentials.PasswordCredential("http://website","login", "password");
Windows.Web.Http.HttpClient client2 = new Windows.Web.Http.HttpClient(filter);
var response = await client2.GetAsync(new Uri("http://website"));
WebView.Source = new Uri("http://website");
现在还记得改登录名和密码要使用的凭据,一个网站要进行身份验证的网站。
从服务器获取的响应是很重要的 - 这会让用户认证服务器@所以下次你去webView的了你将要验证该网站的时间
它正常工作与基本身份验证和NTLM身份验证
在这种情况下CAE记得有enterpriseAuthentication关闭
希望这将有助于人们寻找这个问题的解决方案:)