이 가이드에서는 ASP.NET Core Web API에서 CORS를 활성화하는 두 가지 접근 방식, 즉 미들웨어 사용과 수동 헤더 삽입 방법을 보여줍니다.
방법 1: 미들웨어 기반 CORS 구성
가장 간단하고 권장되는 접근 방식은 Microsoft.AspNetCore.Cors
NuGet 패키지
패키지 설치:
<code>Install-Package Microsoft.AspNetCore.Cors</code>
CORS 서비스 구성:
Startup.cs
파일 내에서 CORS 서비스를 등록하세요.
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); // ... other service configurations }</code>
CORS 미들웨어 사용:
Configure
메서드에서는 app.UseCors
미들웨어를 활용하여 허용되는 출처와 HTTP 메서드를 정의합니다. "http://example.com"
을 실제 허용된 출처로 바꾸세요.
<code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... ) { app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod()); // ... other middleware configurations }</code>
방법 2: 수동 헤더 삽입(폴백 방법)
미들웨어 접근 방식이 효과적이지 않은 경우 HTTP 응답에 CORS 헤더를 직접 추가할 수 있습니다. 이는 일반적으로 유지 관리 용이성 감소로 인해 덜 선호됩니다.
<code class="language-csharp">app.Use(async (context, next) => { context.Response.Headers.Add("Access-Control-Allow-Origin", "http://example.com"); context.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE"); context.Response.Headers.Add("Access-Control-Allow-Headers", "X-PINGOTHER, Content-Type, Authorization"); await next.Invoke(); });</code>
이 미들웨어는 이전 app.UseRouting()
또는 이에 상응하는 미들웨어 처리 라우팅
중요 고려 사항:
):** Avoid using the wildcard
"*"for
WithOrigins`. 이렇게 하면 모든 출처의 요청에 API가 열려 상당한 보안 위험이 발생합니다.AddCustomHeader
또는 선택한 방법에 상응하는 헤더를 사용하여 허용되는 헤더를 신중하게 정의하세요. 항상 "Content-Type"
을 포함하세요.Microsoft.AspNetCore.Cors
패키지에서 제공하는 CORS 정책 모델을 살펴보세요. 이를 통해 명명된 정책과 더 복잡한 시나리오가 가능해졌습니다.이 향상된 가이드는 ASP.NET Core Web API에서 CORS 구현에 대한 더 명확한 설명과 향상된 구조를 제공합니다. 귀하의 필요에 가장 적합한 방법을 선택하고 보안 모범 사례의 우선순위를 지정하십시오.
위 내용은 ASP.NET Core Web API에서 CORS를 활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!