builder.Services.AddCors()

在 ASP.NET Core 中,使用 builder.Services.AddCors() 方法可以配置跨源资源共享(CORS)策略。CORS 是一种安全机制,用于允许一个域上的网页请求另一个域上的资源。默认情况下,浏览器会阻止跨源请求,因此需要通过配置 CORS 来允许这些请求。

配置 CORS 的基本步骤

以下是如何在 ASP.NET Core 应用程序中配置 CORS 的示例:

csharp
var builder = WebApplication.CreateBuilder(args);

// 添加 CORS 服务
builder.Services.AddCors(options =>
{
    options.AddPolicy("MyPolicy", policy =>
    {
        policy.WithOrigins("http://example.com", "http://example.org")
              .AllowAnyMethod()
              .AllowAnyHeader()
              .AllowCredentials();
    });
});

// 其他服务配置
builder.Services.AddControllers();

var app = builder.Build();

// 启用 CORS 中间件
app.UseCors("MyPolicy");

// 其他中间件配置
app.UseRouting();
app.UseAuthorization();
app.MapControllers();

app.Run();

配置选项解释

  • AddPolicy:定义一个 CORS 策略。你可以为每个策略指定一个名称(如 "MyPolicy").
  • WithOrigins:指定允许的源。可以是具体的 URL 或使用通配符 * 允许所有源。在生产环境中,建议明确指定允许的源以提高安全性.
  • AllowAnyMethod:允许所有 HTTP 方法(如 GET、POST、PUT、DELETE 等).
  • AllowAnyHeader:允许所有请求头.
  • AllowCredentials:允许发送凭据(如 cookies 和 HTTP 认证信息).

注意事项

  • 安全性:在生产环境中,尽量避免使用通配符 * 来允许所有源,以防止潜在的安全风险。明确指定允许的源可以提高安全性.
  • 中间件顺序:UseCors 必须在 UseRouting 和 UseAuthorization 之前调用,以确保 CORS 策略在路由和授权之前生效.
  • 策略选择:你可以根据需要定义多个 CORS 策略,并在不同的控制器或操作上应用不同的策略,通过在控制器或操作上使用 [EnableCors("MyPolicy")] 属性来指定具体策略.

通过合理配置 CORS,你可以确保你的应用程序能够安全地处理跨源请求,同时避免不必要的安全问题.

posted @   yinghualeihenmei  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-01-06 数据库升级到2017版本
2023-01-06 SQL SERVER事务日志增长过快
2023-01-06 sql日志:获得数据库报错信息
点击右上角即可分享
微信分享提示