使用基本身份验证的HttpWebRequest失败,DefaultNetworkCredentials出现401错误

本文关键字:DefaultNetworkCredentials 出现 错误 失败 HttpWebRequest 身份验证 | 更新日期: 2023-09-27 17:54:08

我正在用本地Web服务器(IIS, Windows 8)测试一个应用程序,该站点需要基本身份验证,只要我明确地通过我的凭据,一切都很好:

request.Credentials = new NetworkCredential("User", "Password", "Domain");
request.PreAuthenticate = true;

但是我想使用集成安全,所以我尝试将第一行更改如下:

request.Credentials = CredentialCache.DefaultNetworkCredentials;

(我也试过DefaultCredentials)

我用Fiddler检查了网络流量,我看到在第二种情况下,Http请求是在没有授权头的情况下发送的,所以失败并不奇怪。但是为什么呢?

更新。我想我误解了默认凭证的概念。DefaultNetworkCredentials不能用于生成基本身份验证头,它必须是一个用户/密码对。这个行为是设计好的

使用基本身份验证的HttpWebRequest失败,DefaultNetworkCredentials出现401错误

感谢对这个主题发表评论的人,我意识到我误解了默认凭证的概念。如果只启用了基本身份验证,则不能使用它们,因此这是正确的行为。

相关文章:
  • 没有找到相关文章