Protected route

보호된 라우트는 요청이 화면에 닿기 전에 막는 것이 핵심이다

보호 위치가 늦어질수록 구현은 쉬워지지만, 사용자가 잠깐이라도 보호 화면을 볼 가능성이 커진다.

요청 사용자가 /dashboard, /admin 같은 보호 경로에 접근한다.
검사 세션, 역할, 소유권을 어느 위치에서 확인할지 고른다.
결과 통과, 로그인 이동, 권한 없음, 리소스 숨김 중 하나로 끝난다.
서버 컴포넌트 HTML 생성 전에 막는다. 보호 콘텐츠가 먼저 보이는 flash를 줄인다.
미들웨어 여러 경로를 matcher로 묶어 공통 규칙을 가장 앞단에 둔다.
클라이언트 UI 이미 보호된 뒤 버튼, 안내문, 추가 UI 상태를 부드럽게 바꾼다.
인증 없음
로그인 페이지로 보낸다.
권한 부족
403 또는 권한 없음 화면을 보여준다.
통과
요청한 페이지를 렌더링한다.