asp.net (webapi) core 2.1 跨域配置

官方文档 ➡️ https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-2.1

1. NuGet: Microsoft.AspNetCore.Cors

2.

//Startup.ConfigureServices(IServiceCollection services)
services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder =>
            {
                builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader(); 
            });
    });
3.
//Startup.Configure(IApplicationBuilder app, IHostingEnvironment env)
//这行代码必须要在“app.UseMvc”等前面
app.UseCors("AllowSpecificOrigin");

这个方法允许该网站被http://0.0.0.0:3201跨域调用,设置这个的时候注意不要加最后一个斜杆


而我并不喜欢写死这么一个字符串,刚开始想过通配符的方式,所以看了下这些相关类里面的方法,还真的找到了个符合参数的方法,他要我传入一个委托,并且返回是bool,感觉很接近,尝试了一下还真行

//Startup.ConfigureServices(IServiceCollection services)
services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder =>
            {
                //builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader();
                builder.SetIsOriginAllowed((string arg) => {
                    System.Console.WriteLine(arg);
                    return true;
                });
            });
    });

看图片,到这里大家自己扩展自己的方法啦,可以用正则去支持你的通配符,也可以自由的写逻辑了


上面的方法已经满足了我的需求了,这个库还有好多其他的东西


这篇文章是asp.net core 2.1的,如需要支持其他版本的可以自己查阅官方文档哈



©️2020 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值