Client UI

클라이언트 역할 검사는 버튼 노출을 조절할 뿐 최종 보안 경계가 아니다

UI에서 편집 버튼을 숨겨도 서버 요청은 직접 보낼 수 있다. 서버 액션이나 API에서 같은 권한을 다시 검사해야 한다.

UI에서 판단할 수 있는 것

  • 관리자에게만 관리 버튼 표시
  • 작성자에게만 편집 버튼 표시
  • 로딩 중에는 권한 판정 보류
canEdit = role === 'admin' || userId === authorId

서버에서 다시 확인할 것

  • 세션이 실제로 있는가
  • role이 필요한 권한을 만족하는가
  • 리소스 소유자가 맞는가
  • 버튼 숨김만으로 보호하지 않는다