.net core 跨域总结

1. .Net Core允许跨域

ConfigureServices 设置跨域
 

 services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName, policy =>
                    {
                        policy
                        .WithOrigins(CorUrls)
                        //.SetIsOriginAllowed(str => true)//开启后允许所有请求
                        .AllowAnyHeader()
                        .AllowAnyMethod()
                        .AllowCredentials();//允许客户端携带验证信息

                    });
}

CorUrls 数组,url不支持(*),另外https也需要单独设置url

SetIsOriginAllowed 开启后貌似允许所有请求

app开启跨域

app.UseRouting();

app.UseCors(DefaultCorsPolicyName);//注意要放在UseRouting和UseAuthentication

app.UseAuthentication();

2.signalR跨域

signalR需要单独设置跨域

            app.UseEndpoints(endpoints =>
            {
                //报警提醒
                endpoints.MapHub("/notify/default")
                .RequireCors(configurePolicy =>
                {
                    configurePolicy
                    .WithOrigins(_appConfig.CorUrls)
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials();//允许客户端携带验证信息
                });
            });

你可能感兴趣的:(.net,core,vue.js,.netcore,前端)