我正在尝试使用HttpWebRequest请求需要 Windows 身份验证的 url ,我正在使用
request.Credential = New NetworkCredential("username", "password");
一切正常,直到我决定不对用户名和密码进行硬编码,然后切换到
request.Credential = CredentialCache.DefaultNetworkCredentials;
然后我收到 401 未经身份验证的错误。我检查了我的用户
WindowsIdentity.GetCurrent();
它正确返回我的用户名,但是
CredentialCache.DefaultNetworkCredentials;
将用户名、域的空字符串返回给我......几乎所有内容都是空字符串......太糟糕了,HttpWebRequest.Credential期待ICredential意味着我无法将WindowsIdentity.GetCurrent()设置为它。
无论如何,我可以将我当前的登录用户传递给HttpWebRequest.Credential吗?
是CredentialCache.DefaultNetworkCredentials;正确的方法?或者我只是缺少一些设置?
我读过一些像这样的文章 http://msdn.microsoft.com/en-us/library/ms998351.aspx。
它要么太长,太复杂,我无法理解,要么不起作用。我是新手,希望在这里得到一些直截了当的答案。