사용자
JWT payload나 DB에 현재 사용자의 역할 목록이 들어 있다.
user
admin
RBAC는 권한을 사용자에게 직접 붙이지 않고 역할에 묶는다. 요청이 들어오면 NestJS는 먼저 사용자를 확인하고, 그 다음 라우트가 요구하는 역할과 맞는지 판단한다.
JWT payload나 DB에 현재 사용자의 역할 목록이 들어 있다.
컨트롤러 메서드는 접근에 필요한 역할을 메타데이터로 표시한다.
@Roles('admin')
사용자 역할과 요구 역할의 교집합이 있으면 통과시키고, 없으면 403으로 막는다.
핵심: 인증은 “누구인가”를 만들고, RBAC 인가는 “무엇을 할 수 있는가”를 비교한다.