用于 WEB API 调用的 ASP.NET 默认凭据

Posted

技术标签:

【中文标题】用于 WEB API 调用的 ASP.NET 默认凭据【英文标题】:ASP.NET default credentials for WEB API calls 【发布时间】:2021-11-09 08:12:20 【问题描述】:

我有一个著名的问题。我的 Web Asp.net 应用程序具有 Windows 身份验证(在 IIS 中)。我需要将此凭据传递给需要“基本身份验证”的 ERP API。有什么方法可以获得这些凭据吗?我已经尝试过 CredentialCache.DefaultNetworkCredentials 和 HttpClientHandler() UseDefaultCredentials = true 但没有任何成功。感谢您的帮助。

【问题讨论】:

【参考方案1】:

据我所知,这不是你能做到的。 Windows 身份验证在 Windows 帐户上工作,Windows 在下面处理它。您将无法以编程方式检索此帐户的密码,因为这会导致安全漏洞。

因此,您必须将凭据显式发送到 ERP(至于用户通过身份验证后在应用程序中传递给 API 或进行研究并找到其他方法在 ERP API 中进行身份验证,也许有一些可用的方法)。

【讨论】:

以上是关于用于 WEB API 调用的 ASP.NET 默认凭据的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net MVC 中 Web API 的默认控制器操作

一键搞定ASP.NET Core Web API幂等性

Asp.Net Web API 2第三课——.NET客户端调用Web API

Asp.Net Web API 2第三课——.NET客户端调用Web API

重用令牌 asp.net web api c#

在asp.net里怎样异步调用WebService方法