Authentication Web API基本身份验证返回401

Authentication Web API基本身份验证返回401,authentication,iis,asp.net-web-api,asp.net-web-api2,Authentication,Iis,Asp.net Web Api,Asp.net Web Api2,我已经构建了一个具有基本身份验证的web api服务,并使用了一个全局DelegatingHandler实现,我将其连接到web apiGlobalConfiguration,以便从请求中提取username:password凭据,并在凭据映射到有效用户时将一个IPrincipal连接到HttpContext 我已经在localhost上彻底测试了我的api,它工作得很好,但在VPS上的IIS上运行时就不太好了 我已经在VPS上连接了远程调试,以便检查正在进行的工作,结果表明,每当我将授权头包含

我已经构建了一个具有基本身份验证的web api服务,并使用了一个全局
DelegatingHandler
实现,我将其连接到web api
GlobalConfiguration
,以便从请求中提取username:password凭据,并在凭据映射到有效用户时将一个IPrincipal连接到HttpContext

我已经在localhost上彻底测试了我的api,它工作得很好,但在VPS上的IIS上运行时就不太好了

我已经在VPS上连接了远程调试,以便检查正在进行的工作,结果表明,每当我将授权头包含到请求中时,我在消息处理程序上设置的断点都不会被命中,这意味着请求不会到达处理程序。如果我从请求中删除授权头,断点将被命中,处理程序能够处理它

由于消息处理程序是第一个在管道中处理请求的程序(据我所知,如果我错了,请纠正我),我想一定有IIS或安装问题,我不知道这会扰乱身份验证过程

Fiddler请求头

GET http://myip/api/v1/route/parameter HTTP/1.1
Content-Type: application/json; charset=utf-8
Authorization: Basic ZHJpdmVyOjEwMTAyMDAz
Host: myip
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Basic realm="myip"
X-Powered-By: ASP.NET
Date: Mon, 22 Aug 2016 15:04:15 GMT
Content-Length: 61

{"Message":"Authorization has been denied for this request."}
Fiddler响应标题

GET http://myip/api/v1/route/parameter HTTP/1.1
Content-Type: application/json; charset=utf-8
Authorization: Basic ZHJpdmVyOjEwMTAyMDAz
Host: myip
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Basic realm="myip"
X-Powered-By: ASP.NET
Date: Mon, 22 Aug 2016 15:04:15 GMT
Content-Length: 61

{"Message":"Authorization has been denied for this request."}
什么可能是错误的,我应该在哪里寻找解决方案

编辑

必须从IIS应用程序右窗格设置的“身份验证”菜单中禁用基本身份验证