.NET Core设置允许跨域
2023-09-07
1475 0.NET Core 允许开发人员在 Web API 中设置跨域资源共享 (CORS)。CORS 是一种标准,允许浏览器从不同的域访问资源。
在 .NET Core 中设置 CORS 有两种方法:
- 使用 CorsPolicy 类
- 使用 Cors 属性
使用 CorsPolicy 类
CorsPolicy 类允许开发人员自定义 CORS 策略。要使用 CorsPolicy 类,请创建一个 CorsPolicy 实例并设置所需的属性。
以下代码演示了如何使用 CorsPolicy 类设置 CORS 策略:
using Microsoft.AspNetCore.Cors;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Add a CORS policy
services.AddCors(options =>
{
options.AddPolicy("MyPolicy",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
}
}
在上述代码中,我们创建了一个名为 MyPolicy 的 CORS 策略。该策略允许来自任何域的任何请求方法和任何请求头。
使用 Cors 属性
Cors 属性允许开发人员在控制器或接口上快速设置 CORS 策略。要使用 Cors 属性,请将其添加到控制器或接口上。
以下代码演示了如何使用 Cors 属性设置 CORS 策略:
[Route("api/[controller]")]
[ApiController]
[Cors("MyPolicy")]
public class MyController : ControllerBase
{
}
在上述代码中,我们使用 Cors 属性设置了 MyPolicy 策略。
跨域请求的响应头
当请求被允许时,CORS 会添加以下响应头:
- Access-Control-Allow-Origin:允许访问的域
- Access-Control-Allow-Methods:允许的请求方法
- Access-Control-Allow-Headers:允许的请求头
- Access-Control-Allow-Credentials:是否允许在请求中使用凭据
跨域请求的预检请求
浏览器在发送跨域请求之前,会先发送一个预检请求。预检请求用于检查服务器是否允许跨域请求。
当预检请求被允许时,CORS 会添加以下响应头:
- Access-Control-Allow-Origin:允许访问的域
- Access-Control-Allow-Methods:允许的请求方法
- Access-Control-Allow-Headers:允许的请求头
.NET Core 中的 CORS 功能允许开发人员在 Web API 中设置跨域资源共享。CORS 可以帮助开发人员在不同域之间安全地共享资源。
您可能感兴趣:
阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价
领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!