AddAuthorization을 사용한 역할 기반 권한 정책
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 이름과 일치해야 작동합니다.
📎 관련 문서
추천 자료: ASP.NET Core 인증 및 권한 부여
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!