Authentication 使用user/pass向web.config添加基本身份验证的最简单方法

Authentication 使用user/pass向web.config添加基本身份验证的最简单方法,authentication,iis,web-config,asp.net-web-api2,azure-api-management,Authentication,Iis,Web Config,Asp.net Web Api2,Azure Api Management,我正在设置一个Azure API管理,背后有一个ASP.NET WebApi 2应用程序。API管理建议在API管理代理和ASP.NET WebApi之间设置基本身份验证,以确保只能通过API管理代理访问WebApi (当然,OAuth令牌仍将与“真实”身份验证请求一起发送,但稍后我将添加这一点。) 考虑到这一点,我真的不想在应用程序中实现基本身份验证,我想让IIS通过Web.config以独占方式处理它 问题:如何设置Web.config以使用存储在Web.config中的用户名/密码进行基本

我正在设置一个Azure API管理,背后有一个ASP.NET WebApi 2应用程序。API管理建议在API管理代理和ASP.NET WebApi之间设置基本身份验证,以确保只能通过API管理代理访问WebApi

(当然,OAuth令牌仍将与“真实”身份验证请求一起发送,但稍后我将添加这一点。)

考虑到这一点,我真的不想在应用程序中实现基本身份验证,我想让IIS通过Web.config以独占方式处理它

问题:如何设置Web.config以使用存储在Web.config中的用户名/密码进行基本身份验证

我所尝试的

我试图看懂这篇文章,但运气不好

这个问题没有答案,但他们可能会问类似的问题:

我在这里找到的其他答案包括在应用程序中添加我不想做的身份验证

这是我的Web.config:



我遗漏了什么?

我最终实现了作为HTTPM模块的基本身份验证。我将在稍后更新此答案的详细信息

编辑:

NuGet软件包:


来源:

Forms Auth和Basic Auth是两种不同的东西。如果使用IIS进行基本身份验证,则需要使用用户名和密码创建windows帐户。您将需要在API中使用https。您还可以使用Azure API应用程序并将API设置为私有。希望此视频能有所帮助:这是一个定义术语,浏览器将弹出一个本机框,询问用户名和密码,并且将根据Windows服务器上的Windows用户帐户测试给定凭据。此行为在中指定。您需要的是基本身份验证。如何在IIS服务器上为所有要使用的网站安装它?有一个Nuget命令安装在执行它的地方?如何将它与Powershell一起使用以将其安装到IIS中?希望不需要对IIS进行任何更改。这就是重点。
Authorization: Basic dGVzdDp0ZXN0
Content-Type: application/json