启用 CORS
启用 CORS
有三种方法可以启用 CORS:
- 在使用命名策略或默认策略的中间件中。
- 使用终结点路由。
- 使用 [EnableCors] 属性。
使用默认策略和中间件的 CORS
1 2 3 4 5 6 7 8 9 | builder.Services.AddCors(options => { options.AddDefaultPolicy(policy => { policy.WithOrigins( "http://localhost:5173" ).AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin();<em id= "__mceDel" > }); }); var app = builder.Build(); </em> |
注意:指定的 URL 不能包含尾部斜杠 (/
)。 如果 URL 以 /
结尾,则比较返回 false
,并且不返回任何标头。
1 2 3 4 5 | app.UseRouting(); app.UseCors(); //使用跨域中间件,注意调用的顺序 app.UseAuthorization(); |
注意:
-
UseCors
添加 CORS 中间件。 对UseCors
的调用必须放在UseRouting
之后,但在UseAuthorization
之前。 - 使用响应缓存中间件时,请在 UseResponseCaching 之前调用 UseCors。
使用命名策略和中间件的 CORS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | var MyAllowSpecificOrigins = "_myAllowSpecificOrigins" ; var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy(MyAllowSpecificOrigins, policy => { policy.WithOrigins( "http://example.com" , "http://www.contoso.com" ) .AllowAnyHeader() .AllowAnyMethod(); }); }); builder.Services.AddControllers(); var app = builder.Build(); app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(MyAllowSpecificOrigins); app.UseAuthorization(); app.MapControllers(); app.Run(); |
参考:https://learn.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-7.0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南