Guard placement

보호 로직 위치

서버 컴포넌트, 미들웨어, 클라이언트 컴포넌트는 모두 라우트를 보호할 수 있지만 실행 시점과 목적이 다릅니다.

서버 컴포넌트

getServerSession

페이지를 렌더링하기 전에 세션과 역할을 확인해야 할 때 기본 선택지로 사용합니다.

미들웨어

matcher 기반 보호

여러 경로에 같은 인증 규칙을 적용하거나 요청 초입에서 빠르게 차단할 때 적합합니다.

클라이언트

useSession UI 보조

버튼, 안내 문구, 로딩 상태 같은 사용자 경험을 조정할 때 보조적으로 사용합니다.