>백엔드 개발 >C#.Net 튜토리얼 >C# Asp.Net webAPI에서 인증 속성의 사용은 무엇입니까?

C# Asp.Net webAPI에서 인증 속성의 사용은 무엇입니까?

王林
王林앞으로
2023-08-25 23:37:081403검색

인증은 인증된 사용자가 작업을 수행할 수 있는지 여부를 결정하는 프로세스입니다. 특정 리소스(Web API 리소스)에 대한 작업을 수행할지 여부입니다. 예를 들어, 데이터를 획득하고 게시할 수 있는 권한을 갖는 것은 승인의 일부입니다. 이것 인증 프로세스는 컨트롤러 작업 메서드를 실행하기 전에 발생합니다. 리소스에 대한 액세스 권한을 부여할지 여부를 유연하게 결정할 수 있습니다. 아니면.

ASP.NET Web API에서는 권한 부여 필터를 사용하여 권한 부여가 구현됩니다. 컨트롤러 작업 메서드가 실행되기 전에 실행됩니다. 웹 API 내장된 인증 필터 AuthorizeAttribute를 제공합니다. 이 필터는 다음을 확인합니다. 사용자가 인증되었는지 여부입니다. 그렇지 않은 경우 HTTP 상태 코드 401이 반환됩니다. (승인되지 않음), 조치가 필요하지 않습니다.

필터를 전체적으로, 컨트롤러 수준 또는 개인 수준에 적용할 수 있습니다. 작동하다.

Global

각 Web API 컨트롤러에 대한 액세스를 제한하려면 AuthorizeAttribute 필터를 다음에 추가하세요. 글로벌 필터 목록.

public static void Register(HttpConfiguration config){
   config.Filters.Add(new AuthorizeAttribute());
}

Controllers

특정 컨트롤러에 대한 액세스를 제한하려면 필터를 속성으로 추가하세요. 제어 장치.

//컨트롤러의 모든 작업에는 인증이 필요합니다. [권한 부여]

public class StudentsController: ApiController{
   public HttpResponseMessage Get(int id) { ... }
   public HttpResponseMessage Post() { ... }
}

Actions

특정 작업에 대한 액세스를 제한하려면 이 속성을 작업 메서드에 추가하세요.

public class StudentsController : ApiController{
   public HttpResponseMessage Get() { ... }
   // Require authorization for a specific action.
   [Authorize]
   public HttpResponseMessage Post() { ... }
}

예제

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 中的授权属性有什么用?

위 내용은 C# Asp.Net webAPI에서 인증 속성의 사용은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:C#의 키-값 쌍다음 기사:C#의 키-값 쌍