AddAuthorization을 사용한 역할 기반 권한 정책

  • 2 minutes to read

AddAuthorization을 사용한 관리자/매니저 권한 정책 구성

이 문서에서는 ASP.NET Core 애플리케이션에서 AddAuthorization 메서드를 사용하여 역할 기반 권한 정책(Role-based Authorization Policies) 을 설정하는 방법을 설명합니다.
특히, 전역 관리자(Administrators)와 매니저(Managers) 역할을 기준으로 정책을 구성합니다.


🔧 코드 예시

#region Authorization Policy Configuration
// ASP.NET Core 애플리케이션에서 권한 정책을 정의합니다.
builder.Services.AddAuthorization(options =>
{
    // "AdminOnly" 정책: "Administrators" 역할을 가진 사용자만 접근 가능
    options.AddPolicy("AdminOnly", policy => policy.RequireRole("Administrators"));

    // "ManagerOnly" 정책: "Managers" 역할을 가진 사용자만 접근 가능
    options.AddPolicy("ManagerOnly", policy => policy.RequireRole("Managers"));
});
#endregion

📌 설명

  • AddAuthorization 메서드는 애플리케이션 전반에서 사용할 정책 기반 권한(Policy-Based Authorization) 을 정의합니다.
  • AddPolicy 메서드를 사용하여 고유한 정책 이름과 조건을 설정합니다.
  • RequireRole(...)은 지정된 역할(Role)을 가진 사용자만 해당 정책을 통과할 수 있도록 제한합니다.

✅ 적용 예시

@attribute [Authorize(Policy = "AdminOnly")]
  • 위와 같이 Razor 컴포넌트나 컨트롤러에 정책을 적용하여, Administrators 역할이 없는 사용자는 해당 페이지에 접근할 수 없게 됩니다.

⚠️ 주의사항

  • AddAuthorization(...)한 번만 호출해야 하며, 중복 호출 시 마지막 설정만 유효합니다.
  • 정책 이름은 중복되면 안 됩니다.
  • RequireRole(...)은 내부적으로 User.IsInRole(...)을 기반으로 하며, 정확한 Role 이름과 일치해야 작동합니다.

📎 관련 문서

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com