Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Windows凭据未使用Windows.Web.Http.HttpClient通过_.net_Win Universal App - Fatal编程技术网

.net Windows凭据未使用Windows.Web.Http.HttpClient通过

.net Windows凭据未使用Windows.Web.Http.HttpClient通过,.net,win-universal-app,.net,Win Universal App,我的应用程序正在尝试向我们域上的服务发出请求,但它无法通过运行该应用程序的用户的windows凭据,这导致每次服务调用都有一个登录请求(连续有几个…非常烦人) 如果我将ServerCredential设置为PasswordCredential(使用HttpBaseProtocolFilter)并使用硬编码信息(资源、用户名、密码),则一切正常,但这还不够,因为它需要能够通过使用应用程序的任何用户的凭据 例如: var filter = new HttpBaseProtocolFilter {

我的应用程序正在尝试向我们域上的服务发出请求,但它无法通过运行该应用程序的用户的windows凭据,这导致每次服务调用都有一个登录请求(连续有几个…非常烦人)

如果我将
ServerCredential
设置为
PasswordCredential
(使用HttpBaseProtocolFilter)并使用硬编码信息(资源、用户名、密码),则一切正常,但这还不够,因为它需要能够通过使用应用程序的任何用户的凭据

例如:

var filter = new HttpBaseProtocolFilter
{
    ServerCredential = new PasswordCredential("ourServiceHost", "username", "password")
});

var client = new HttpClient(filter);
我在某个地方读到,不设置
ServerCredential
应该会导致它默认为当前用户的windows凭据,但这似乎没有发生


想法?

您需要在应用程序的Package.AppxManifest中选择企业身份验证功能

要避免出现用户名和密码提示,请禁用UI:

HttpBaseProtocolFilter filter = new BaseProtocolFilter();
filter.AllowUI = false;
HttpClient client = new HttpClient(filter);

我添加了它,但没有变化。我仍然被提示输入用户名和密码。我如何获得未成功响应澄清:我不再被提示,但现在服务器的响应是401您确定服务器配置正确吗?您可以使用PowerShell测试它:
Invoke WebRequest-Method GET-Uri“http://example.com“-UseDefaultCredentials
是的,如果我在powershell中运行,我会得到一个OK响应。您是否找到此问题的解决方案?我面临着同样的情况,我的行为和你完全一样。如果我只有var filter=newhttpbaseprotocolfilter();系统提示我输入凭据,呼叫成功。如果我有var filter=newhttpbaseprotocolfilter{AllowUI=false};它失败了,错误是401-未经授权。这是很久以前的事了,我不记得曾经真正找到过解决方案,对不起。这是我不再从事的工作中工具的附带项目,不是问题。谢谢你回复我。如果我找到了解决方案,我也会把它贴在这里。