我的应用程序正在尝试向我们域上的服务发出请求,但它无法通过,运行应用程序的用户的Windows凭据导致每个服务调用的登录请求(有几个在排......太烦人了)
如果我将ServerCredential
设置为PasswordCredential
(使用HttpBaseProtocolFilter)并使用硬编码信息(资源,用户名,密码),那么一切正常,但这还不够,因为它需要能够传递任何用户使用该应用程序的信誉。
示例:
var filter = new HttpBaseProtocolFilter
{
ServerCredential = new PasswordCredential("ourServiceHost", "username", "password")
});
var client = new HttpClient(filter);
我在某处读到没有设置ServerCredential
会导致它默认为当前用户的Windows凭据,但这似乎并没有发生。
想法?
答案 0 :(得分:2)
您需要在应用的 Package.AppxManifest 中选择企业身份验证功能。
要避免用户名和密码提示,请禁用用户界面:
HttpBaseProtocolFilter filter = new BaseProtocolFilter();
filter.AllowUI = false;
HttpClient client = new HttpClient(filter);