美文网首页
net core 3.1 跨域 Cors 找不到 “Access

net core 3.1 跨域 Cors 找不到 “Access

作者: 少年_323a | 来源:发表于2020-03-20 15:22 被阅读0次

原文:net core 3.1 跨域 Cors 找不到 “Access-Control-Allow-Origin”

首先在ConfigureServices添加

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("any", builder =>
                {
                    //builder.AllowAnyOrigin() //允许任何来源的主机访问
                    builder
                    
                    .WithOrigins("http://*.*.*.*")//.SetIsOriginAllowedToAllowWildcardSubdomains()//设置允许访问的域

                    .AllowAnyMethod()

                    .AllowAnyHeader()

                    .AllowCredentials();//

                });

            });
            services.AddControllers();
        }

然后新增CorsMiddleware 类

public class CorsMiddleware
    {
        private readonly RequestDelegate _next;
        public CorsMiddleware(RequestDelegate next)
        {
            _next = next;
        }

        public async Task Invoke(HttpContext context)
        {
            if (!context.Response.Headers.ContainsKey("Access-Control-Allow-Origin"))
            {
                context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
            }
            await _next(context);
        }
    }

然后在Configure 使用中间件

 app.UseMiddleware<CorsMiddleware>();

相关文章

网友评论

      本文标题:net core 3.1 跨域 Cors 找不到 “Access

      本文链接:https://www.haomeiwen.com/subject/uqmjyhtx.html