programing

asp.net 에서 "Access-Control-Allow-Origin" 헤더를 구현하는 방법

goodsources 2023. 9. 3. 16:14
반응형

asp.net 에서 "Access-Control-Allow-Origin" 헤더를 구현하는 방법

asp.net 에서 "Access-Control-Allow-Origin" 헤더를 구현할 수 있습니까?

enable-cors.org 에서:

ASP.NET의 CORS

IIS를 구성할 수 있는 액세스 권한이 없는 경우에도 ASP를 통해 헤더를 추가할 수 있습니다.원본 페이지에 다음 행을 추가하여 NET:

Response.AppendHeader("Access-Control-Allow-Origin", "*");

참고 항목: IIS6 / IIS7 구성

다른 옵션은 web.config에서 직접 추가하는 것입니다.

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="http://www.yourSite.com" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>

여기서 이걸 찾았어요

1.Microsoft 설치-패키지화.AsNet.WebApi.코르스

2. WebApiConfig.cs 에 이 코드를 추가합니다.

public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes

    config.EnableCors();

    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

추가할 내용

using System.Web.Http.Cors; 

API 컨트롤러(HomeController.cs )에 이 코드를 추가

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class HomeController : ApiController
{
    [HttpGet]
    [Route("api/Home/test")]
    public string test()
    {
       return "";
    }
}

요청한 리소스를 확인하는 HTTP 모듈이 필요할 것이며, CSS 또는 JS일 경우 '*'로 활짝 열려 있지 않으면 요청자 URL로 Access-Control-Allow-Origin 헤더를 태그합니다.

서버에서 CORS 응답 헤더를 구성하는 것은 실제로 선택사항이 아니었습니다.클라이언트 측에서 프록시를 구성해야 합니다.

Sample to Angular - 그래서 프록시 서버 역할을 하기 위해 proxy.conf.json 파일을 만들었습니다.다음은 myproxy.conf.json 파일입니다.

{
  "/api": {
    "target": "http://localhost:49389",
    "secure": true,
    "pathRewrite": {
      "^/api": "/api"
    },
    "changeOrigin": true
  }
}

패키지와 동일한 디렉토리에 파일을 저장합니다.json 그리고 나서 나는 패키지의 start 명령을 수정했습니다.json 파일은 아래와 같습니다.

"start": "ng serve --proxy-config proxy.conf.json"

이제 앱 구성 요소의 http 호출은 다음과 같습니다.

return this.http.get('/api/customers').map((res: Response) => res.json());

마지막으로 npm start org server --proxy-config proxy.conf.json을 사용하여 실행합니다.

언급URL : https://stackoverflow.com/questions/6516591/how-to-implement-access-control-allow-origin-header-in-asp-net

반응형