Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将用户名作为Base64编码格式传递到WebAPI swagger的头中?_C#_Asp.net Web Api_Swagger - Fatal编程技术网

C# 如何将用户名作为Base64编码格式传递到WebAPI swagger的头中?

C# 如何将用户名作为Base64编码格式传递到WebAPI swagger的头中?,c#,asp.net-web-api,swagger,C#,Asp.net Web Api,Swagger,我已经实现了一个带有基本身份验证过滤器的web api。当我想从大摇大摆地称呼它时,我面临以下问题: 1) 我无法在Base64编码中传递username 2) Username在ActionContext.Request.Headers.Authorization的Scheme属性中传递,而不是在相同的参数属性中传递 我曾经大摇大摆地尝试过下面的代码 GlobalConfiguration.Configuration .EnableSwagger(c =>

我已经实现了一个带有基本身份验证过滤器的web api。当我想从大摇大摆地称呼它时,我面临以下问题:

1) 我无法在Base64编码中传递
username

2)
Username
ActionContext.Request.Headers.Authorization的Scheme属性中传递,而不是在相同的参数属性中传递

我曾经大摇大摆地尝试过下面的代码

GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                {
 c.OperationFilter(() => new AddRequiredAuthorizationHeaderParameter());
 });

 public class AddRequiredAuthorizationHeaderParameter : IOperationFilter
    {
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {
            var filterPipeline = apiDescription.ActionDescriptor.GetFilterPipeline();
            var isAuthorized = filterPipeline.Select(filterInfo => filterInfo.Instance)
                                    .Any(filter => filter is IAuthorizationFilter);

            var allowAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();

            if (operation.parameters == null)
                operation.parameters = new List<Parameter>();

            operation.parameters.Add(new Parameter
            {
                name = "Authorization",
                @in = "header",
                type = "",
                required = true,
                description = "User Name"
            });
        }
    }
GlobalConfiguration.Configuration
.EnableSwagger(c=>
{
c、 OperationFilter(()=>new AddRequiredAuthorizationHeaderParameter());
});
public class addRequiredAuthorizationHeader参数: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().Any();
if(operation.parameters==null)
operation.parameters=新列表();
操作.参数.添加(新参数
{
name=“授权”,
@in=“header”,
类型=”,
必需=真,
description=“用户名”
});
}
}
请帮帮我