启用 CORS
启用 CORS
有三种方法可以启用 CORS:
- 在使用命名策略或默认策略的中间件中。
- 使用终结点路由。
- 使用 [EnableCors] 属性。

使用默认策略和中间件的 CORS
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(policy =>
{
policy.WithOrigins("http://localhost:5173").AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin();
}); }); var app = builder.Build();
注意:指定的 URL 不能包含尾部斜杠 (/)。 如果 URL 以 / 结尾,则比较返回 false,并且不返回任何标头。
app.UseRouting(); app.UseCors();//使用跨域中间件,注意调用的顺序 app.UseAuthorization();
注意:
-
UseCors添加 CORS 中间件。 对UseCors的调用必须放在UseRouting之后,但在UseAuthorization之前。 - 使用响应缓存中间件时,请在 UseResponseCaching 之前调用 UseCors。
使用命名策略和中间件的 CORS
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
浙公网安备 33010602011771号