보안 개요
권한부여(Authorization)는 사용자가 수행할 수 있는 작업을 결정하는 과정을 말합니다.
가령, 관리자 권한을 가진 사용자는 문서 라이브러리를 만들고, 문서를 추가하고, 문서를 편집하고, 그 전부를 삭제할 수 있습니다.
반면, 문서 라이브러리를 사용하는 일반 사용자는 문서를 읽을 수 있는 권한만 갖고 있습니다.
권한부여는 사용자의 신원을 확인하는 과정인 인증(Authentication)과는 무관한 독립적인 과정입니다.
인증은 현재 사용자에 대한 하나 이상의 신원(Identity)을 만들 수 있습니다.
권한부여의 유형
ASP.NET Core의 권한부여에서는 간단한 선언적 역할 기반 모델과, 요구사항(Requirements)을 이용해서 권한을 표현하고 처리기를 사용해서 요구사항에 대한 사용자 클레임을 평가하는 풍부한 정책 기반 모델을 제공해줍니다.
간단한 정책이나, 사용자의 신원 및 사용자가 접근하려는 리소스의 속성 양쪽 모두를 평가하는 복잡한 정책을 기반으로 명령형 검사를 수행할 수도 있습니다.
네임스페이스
Authorize
어트리뷰트와 AllowAnonymous
어트리뷰트를 비롯한 권한부여 구성 요소들은 Microsoft.AspNetCore.Authorization
네임스페이스에 위치해 있습니다.