[typescript] 조건문을 활용한 권한 제어 방법

웹 애플리케이션을 개발하다 보면 특정 기능이나 페이지에 접근할 수 있는 권한을 관리해야 할 때가 있습니다. TypeScript로 권한 제어를 구현하기 위해 조건문을 효과적으로 활용하는 방법을 살펴보겠습니다.

1. 권한 상수 정의하기

먼저, 권한을 상수로 정의합니다. 예를 들어, 다음과 같이 Permission이라는 ENUM을 만들어서 권한을 정의할 수 있습니다.

enum Permission {
  ADMIN = 'admin',
  USER = 'user',
  GUEST = 'guest'
}

2. 권한 확인 함수 작성하기

다음으로, 권한을 확인하는 함수를 작성합니다. 이 함수는 현재 사용자의 권한을 받아서, 특정 권한이 있는지 여부를 확인하는 역할을 합니다.

function hasPermission(userPermission: Permission, requiredPermission: Permission): boolean {
  return userPermission === requiredPermission;
}

3. 조건문을 활용한 권한 제어

이제, 위에서 작성한 hasPermission 함수를 활용하여, 특정 기능이나 페이지에 대한 권한을 확인하고 제어할 수 있습니다.

const userPermission = Permission.USER;

if (hasPermission(userPermission, Permission.ADMIN)) {
  // Admin 권한이 있는 경우 처리 로직
} else if (hasPermission(userPermission, Permission.USER)) {
  // User 권한이 있는 경우 처리 로직
} else {
  // 그 외의 경우 처리 로직
}

이러한 방식으로, TypeScript에서 조건문을 활용하여 권한을 효과적으로 제어할 수 있습니다.

위의 예시는 간단한 형태의 권한 제어 방법을 소개한 것이며, 실제 프로젝트에서는 더 복잡한 권한 체계와 제어 로직이 필요할 수 있습니다.

참고 자료