You need to enable JavaScript to run this app. .NET Web API配置接口时Angular调用出现CORS跨域错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

.NET Web API配置接口时Angular调用出现CORS跨域错误如何解决

修复步骤

1. 修正CORS配置冲突

你在两处配置了CORS规则导致冲突:

  • 在ConfigureServices中你定义了默认CORS策略,仅放行http://localhost:4200的请求
  • 在Configure方法中调用UseCors时又传入了匿名的全放行配置,覆盖了之前定义的默认策略,两边规则不统一导致失效。

只需要保留一套配置即可,推荐直接使用你定义好的默认策略,将Configure中的app.UseCors(...)代码替换为:

app.UseCors();

2. 补全认证中间件

你已经注册了JWT认证服务,但Configure方法中缺少对应的认证中间件,会导致带Authorization请求头的跨域预检请求直接失败,在UseCors之后、UseAuthorization之前添加认证中间件:

app.UseCors();
// 新增这行
app.UseAuthentication();
app.UseAuthorization();

3. 验证中间件顺序

确保最终中间件顺序和下方一致,顺序错误会直接导致CORS失效:

app.UseHttpsRedirection();
app.UseRouting();
// CORS必须放在Routing之后,认证授权之前
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
});

修改完成后重启API服务即可正常跨域访问。

内容的提问来源于stack exchange,提问作者Papa Quackers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 13:24:07