【发布时间】:2016-03-20 12:35:17
【问题描述】:
我的应用正在尝试向我们域上的服务发出请求,但它未能通过运行该应用的用户的 Windows 凭据,这导致每次服务调用都需要登录请求(在排...超烦人)
如果我将ServerCredential 设置为PasswordCredential(使用 HttpBaseProtocolFilter)并使用硬编码信息(资源、用户名、密码),那么一切正常,但这还不够,因为它需要能够通过使用该应用程序的任何用户的信誉。
例子:
var filter = new HttpBaseProtocolFilter
{
ServerCredential = new PasswordCredential("ourServiceHost", "username", "password")
});
var client = new HttpClient(filter);
我在某处读到,不设置 ServerCredential 应该会导致它默认为当前用户的 Windows 凭据,但这似乎没有发生。
想法?
【问题讨论】:
-
您找到解决此问题的方法了吗?我面临同样的情况,我得到了和你一样的行为。如果我只有 var filter = new HttpBaseProtocolFilter();系统提示我输入凭据并且呼叫成功。如果我有 var filter = new HttpBaseProtocolFilter { AllowUI = false };它失败并出现错误 401 - 未经授权。
-
那是不久前的事了,我不记得曾经真正找到解决方案,对不起。这是一个我不再从事的工作的工具的副项目。
-
没问题。感谢您回复我。如果我找到解决方案,我也会在这里发布。