집 >백엔드 개발 >C#.Net 튜토리얼 >C# Asp.Net webAPI에서 인증 속성의 사용은 무엇입니까?
인증은 인증된 사용자가 작업을 수행할 수 있는지 여부를 결정하는 프로세스입니다. 특정 리소스(Web API 리소스)에 대한 작업을 수행할지 여부입니다. 예를 들어, 데이터를 획득하고 게시할 수 있는 권한을 갖는 것은 승인의 일부입니다. 이것 인증 프로세스는 컨트롤러 작업 메서드를 실행하기 전에 발생합니다. 리소스에 대한 액세스 권한을 부여할지 여부를 유연하게 결정할 수 있습니다. 아니면.
ASP.NET Web API에서는 권한 부여 필터를 사용하여 권한 부여가 구현됩니다. 컨트롤러 작업 메서드가 실행되기 전에 실행됩니다. 웹 API 내장된 인증 필터 AuthorizeAttribute를 제공합니다. 이 필터는 다음을 확인합니다. 사용자가 인증되었는지 여부입니다. 그렇지 않은 경우 HTTP 상태 코드 401이 반환됩니다. (승인되지 않음), 조치가 필요하지 않습니다.
필터를 전체적으로, 컨트롤러 수준 또는 개인 수준에 적용할 수 있습니다. 작동하다.
각 Web API 컨트롤러에 대한 액세스를 제한하려면 AuthorizeAttribute 필터를 다음에 추가하세요. 글로벌 필터 목록.
public static void Register(HttpConfiguration config){ config.Filters.Add(new AuthorizeAttribute()); }
특정 컨트롤러에 대한 액세스를 제한하려면 필터를 속성으로 추가하세요. 제어 장치.
//컨트롤러의 모든 작업에는 인증이 필요합니다. [권한 부여]
public class StudentsController: ApiController{ public HttpResponseMessage Get(int id) { ... } public HttpResponseMessage Post() { ... } }
특정 작업에 대한 액세스를 제한하려면 이 속성을 작업 메서드에 추가하세요.
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에서 인증 속성의 사용은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!