.net 3.1,.net 5基础跨域配置

25 篇文章 7 订阅
2 篇文章 0 订阅

.net 跨域问题的基本配置方案:

  1. 设置允许所有来源,详情可以看官方文档。https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-6.0#cpo6,以下是基本实现:
    在Startup.cs文件下的ConfigureServices方法添加
            services.AddControllers();
            services.AddRazorPages();
            services.AddCors(options =>
            {
                options.AddPolicy("AllowAll",
                    builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
            });

在Startup.cs文件下的Configure方法添加 app.UseCors();,注意顺序,要在UseRouting后面,在UseAuthorization前面

            app.UseRouting();

            app.UseCors();

            app.UseAuthorization();
  1. 设置部分url来源:
    先在appsettings.json添加变量赋值要跨域的地址, “CorsUrls”: “”在这里插入图片描述 在Startup.cs文件下的ConfigureServices方法添加
         string corsUrls = Configuration["CorsUrls"];
            if (string.IsNullOrEmpty(corsUrls))
            {
                throw new Exception("请配置跨请求的前端Url");
            }
            services.AddCors(options =>
            {
                options.AddDefaultPolicy(
                    builder =>
                    {
                        builder.WithOrigins(corsUrls.Split(","))
                        //添加预检请求过期时间
                         .SetPreflightMaxAge(TimeSpan.FromSeconds(2520))
                        //如果不需要跨域请注释掉.AllowCredentials()或者增加跨域策略
                        .AllowCredentials()
                        .AllowAnyHeader().AllowAnyMethod();
                    });
            });

在Startup.cs文件下的Configure方法添加 app.UseCors();,注意顺序,要在UseRouting后面,在UseAuthorization前面

            app.UseRouting();

            app.UseCors();

            app.UseAuthorization();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值