Asp.net web api 带有SwashbackAPI文档的http基本身份验证

Asp.net web api 带有SwashbackAPI文档的http基本身份验证,asp.net-web-api,swagger,swashbuckle,Asp.net Web Api,Swagger,Swashbuckle,有谁知道如何将basic auth与Swashback api的文档集成 我看到在swaggerconfig文件中有一个basicAuth函数: c.BasicAuth("basic").Description("Basic HTTP Authentication"); 我所做的: 取消对前一行的注释,但未更改任何内容 有人知道我错过了什么吗 谢谢 以下是我如何进行httpbasic身份验证的: 公共类AddAuthorizationHeaderParameterOperation

有谁知道如何将basic auth与Swashback api的文档集成

我看到在swaggerconfig文件中有一个basicAuth函数:

    c.BasicAuth("basic").Description("Basic HTTP Authentication");
我所做的:

  • 取消对前一行的注释,但未更改任何内容
有人知道我错过了什么吗


谢谢

以下是我如何进行httpbasic身份验证的:

公共类AddAuthorizationHeaderParameterOperationFilter:IOperationFilter
{
public void Apply(操作,SchemaRegistry SchemaRegistry,apisdescription apisdescription)
{
var filterPipeline=apiscription.ActionDescriptor.GetFilterPipeline();
var isAuthorized=filterPipeline
.Select(filterInfo=>filterInfo.Instance)
.Any(filter=>filter是IAAuthorizationFilter);
var allowAnonymous=apiscription.ActionDescriptor.GetCustomAttributes

对@MarwaAhmad最优秀答案的一个小改进是检查空参数(例如,URL中所有参数的简单GET或调用)。还添加了基本身份验证的详细信息

此外,如果您已经使用全局
IAuthorizationFilter
来强制使用HTTPS,那么您需要更改更通用的

filter=>过滤器是IAAuthorizationFilter
特定

filter=>filter是一个属性
公共类AddAuthorizationHeaderParameterOperationFilter:IOperationFilter
{
public void Apply(操作,SchemaRegistry SchemaRegistry,apisdescription apisdescription)
{
var filterPipeline=apiscription.ActionDescriptor.GetFilterPipeline();
var isAuthorized=filterPipeline.Select(filterInfo=>filterInfo.Instance)
.Any(filter=>filter是IAAuthorizationFilter);
异源变异=
apiDescription.ActionDescriptor.GetCustomAttributes().Any();
如果(未授权&&!禁止使用)
{
if(operation.parameters==null)
operation.parameters=新列表();
操作参数?添加(新参数
{
name=“授权”,
@in=“header”,
description=“基本HTTP Base64编码头授权”,
必需=真,
type=“string”
});
}
}
}

无法加载System.Web.Http 4.0.0的获取错误。使用framework 4.6.1。无法加载System.Web.Http 4.0.0的任何帮助获取错误。使用framework 4.6.1。任何帮助