Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C# ASP.NET WebAPI의 다양한 필터 유형은 무엇입니까?

<시간/>

필터는 WebApi Framework 요청 처리의 다양한 수준에서 추가 논리를 주입하는 데 사용됩니다. 필터는 교차 문제(로깅, 권한 부여 및 캐싱)에 대한 방법을 제공합니다. 필터는 선언적 또는 프로그래밍 방식으로 작업 메서드 또는 컨트롤러에 적용할 수 있습니다. 다음은 Web API C#의 필터 유형입니다.

인증 필터 -

인증 필터는 사용자 세부 정보를 인증하는 데 도움이 됩니다. 인증 필터에서 사용자의 진위 여부를 확인하는 로직을 작성합니다.

승인 필터 -

권한 부여 필터는 사용자 액세스를 확인하는 역할을 합니다. 프레임워크에서 IAuthorizationFilter인터페이스를 구현합니다.

액션 필터 -

작업 필터는 작업 메서드 실행 전후에 추가 논리를 추가하는 데 사용됩니다. OnActionExecuting 및 OnActionExecuted 메서드는 작업 메서드가 실행되기 전후에 논리를 추가하는 데 사용됩니다.

예외 필터 -

컨트롤러 메서드가 HttpResponseException 예외가 아닌 처리되지 않은 예외를 throw하면 예외 필터가 실행됩니다. HttpResponseException 유형은 HTTP 응답을 반환하도록 특별히 설계되었기 때문에 특수한 경우입니다.

필터 재정의 -

재정의 필터는 개별 조치 방법에 대한 다른 필터의 동작을 사용자 정의하는 데 사용됩니다. 때때로 우리가 가지고 있는 필터가 무엇이든 재정의해야 하는 것과 같은 요구 사항이 있습니다. 컨트롤러 수준에서 필터를 적용했지만 필터의 무시 버전을 사용할 수 있도록 필터를 사용하고 싶지 않은 작업이 컨트롤러 내에 있다고 가정해 보겠습니다.

필터는 일반적으로 다음 세 가지 방법으로 적용됩니다.

  • 컨트롤러 수준에서

  • ActionMethod 수준에서

  • 전역 수준(WebApi.Config.cs)

인증 필터 구현의 예와 작동 방식을 살펴보겠습니다.

예시

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Authorize]
      public IHttpActionResult Get(){
         return Ok();
      }
   }
}

액션 메소드에 권한 부여 속성을 추가했기 때문에 액션 메소드에 접근하려면 베어러 토큰, API 키, OAuth 등과 같은 적절한 권한 부여를 사용해야 합니다. 무단 액세스는 401 Unauthorized가 됩니다. 아래에 표시된 응답입니다.

C# ASP.NET WebAPI의 다양한 필터 유형은 무엇입니까?