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