• 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();
            }

    然后新增 

    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);
            }
        }

    然后 使用中间件

     app.UseMiddleware<CorsMiddleware>();

  • 相关阅读:
    1924班网址
    20192414《网络空间安全导论》第一周学习总结
    H-Angry
    A-Plague Inc
    B-Rolling The Polygon
    F-Moving On
    A-Maximum Element In A Stack
    J-Word Search
    E-Pawns
    D-Lift Problems
  • 原文地址:https://www.cnblogs.com/xiaotimor/p/12068984.html
Copyright © 2020-2023  润新知