如何将C#Web API BasicAuthentication与IIS集成?

时间:2019-08-01 08:10:41

标签: c# iis asp.net-web-api basic-authentication

我目前有一个正常工作的C#/ ASP.NET Web API程序,该程序通过BasicAuthentication(在向Web API发出HTTP请求时,我通过HTTP响应标头发送了用户名和密码)来授权尝试访问该API的用户API。但是,当我尝试将Web API托管在IIS上时,Web API的BasicAuthentication变得混乱而无法触发。

当前,我将Web API托管在IIS上,并将其显示在IIS管理器(作为应用程序在默认网站下)中,并且为了进行身份验证,启用了“匿名身份验证”,并且“ ASP.NET模仿+表单”身份验证”被禁用。

我可以做些什么来允许通过IIS的Web API的BasicAuthentication吗?

编辑:我的WebApiConfig.cs中有一个授权过滤器

config.Filters.Add(new BasicAuthenticationAttribute());

编辑:用于身份验证的代码

 client.DefaultRequestHeaders.Add("Authorization", "BASIC " + encode);

 var postTask = client.PostAsJsonAsync<string>("values?reason=postauth", "PostAuth");
 postTask.Wait();    
 var result = postTask.Result;
 string resultStr = postTask.Result.ReasonPhrase.ToString();

字符串resultStr返回“内部服务器错误”。

0 个答案:

没有答案