在 ASP.NET Core (WebAPI) 中启用 CORS

张开发
2026/4/11 14:46:45 15 分钟阅读

分享文章

在 ASP.NET Core (WebAPI) 中启用 CORS
目录如何在 ASP.NET Core 中启用 CORS为什么需要 CORS步骤 1添加 CORS 服务步骤 2应用 CORS 策略全球每个端点步骤 3允许所有来源可选步骤 4测试 CORS 设置常见问题及故障排除结论如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。如何在 ASP.NET Core 中启用 CORS跨域资源共享 (CORS) 是一种允许 Web 应用程序访问来自不同域的资源的机制。默认情况下出于安全考虑浏览器会阻止跨域 HTTP 请求。但是您可以在 ASP.NET Core 应用程序中启用 CORS以便在需要时允许此类请求。本文将指导您使用现代最小托管模型在 ASP.NET Core 应用程序中逐步启用 CORS。为什么需要 CORS假设您有一个托管在 [此处应填写服务器地址] 的前端应用程序https://frontend.example.com它试图访问托管在 [此处应填写服务器地址] 的 API 。https://api.example.com如果未启用 CORS浏览器将阻止此请求从而导致CORS 策略错误。启用 CORS 可以让您指定哪些域可以安全地访问您的 API。步骤 1添加 CORS 服务第一步是将 CORS 服务添加到您的应用程序中。打开Program.cs文件。AddCors在服务配置部分注册 CORS 服务var builder WebApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddCors(options {options.AddPolicy(AllowSpecificOrigins, builder {builder.WithOrigins(https://frontend.example.com) // Replace with your allowed origins.AllowAnyHeader().AllowAnyMethod();});});builder.Services.AddControllers();var app builder.Build();步骤 2应用 CORS 策略您需要将 CORS 策略应用到您的应用程序。主要有两种方法全局应用或针对特定端点应用。全球要为所有控制器启用该策略请UseCors在请求管道配置中使用中间件app.UseCors(AllowSpecificOrigins); // Apply CORS policy globallyapp.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();每个端点要为特定端点启用 CORS请使用以下[EnableCors]属性[ApiController][Route(api/[controller])]public class MyController : ControllerBase{[HttpGet][EnableCors(AllowSpecificOrigins)]public IActionResult Get(){return Ok(CORS is enabled for this endpoint.);}}步骤 3允许所有来源可选如果要允许所有来源可以按如下方式修改 CORS 策略builder.Services.AddCors(options {options.AddPolicy(AllowAll, builder {builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();});});然后AllowAll在全局或针对特定端点应用 CORS 时使用此策略名称。注意允许所有来源可能会使您的 API 面临安全风险因此请谨慎使用。步骤 4测试 CORS 设置配置好 CORS 后可以使用 Postman 等工具、浏览器或前端应用程序从不同的源发送请求进行测试。检查响应头中的条目Access-Control-Allow-Origin以确认 CORS 是否按预期工作。常见问题及故障排除策略未应用请确保策略名称与UseCors中定义的策略名称匹配AddCors。选项请求失败如果您的 API 包含复杂请求请确保该OPTIONS方法已被允许。配置错误的源请仔细检查方法中的域名WithOrigins。结论在 ASP.NET Core 中使用现代托管模型启用 CORS 非常简单并且可以确保安全的跨域资源共享。通过有效地理解和配置 CORS 策略您可以在保持安全性的同时增强应用程序的互操作性。如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。

更多文章