Failure response

실패 응답은 로그인 없음, 권한 부족, 소유권 불일치를 구분한다

모든 실패를 같은 화면으로 보내면 보안은 단순해질 수 있지만, 사용자는 무엇을 해야 하는지 알기 어렵다.

세션 없음 사용자가 아직 누구인지 모른다.
역할 부족 로그인은 했지만 필요한 role이 없다. 403 또는 unauthorized
소유권 불일치 다른 사용자의 리소스를 요청했다. 404 또는 접근 거부
조건 충족 세션, 역할, 소유권이 모두 맞다. 보호 콘텐츠 표시
원칙: 인증은 “누구인가”, 인가는 “이 사람이 이 리소스를 볼 수 있는가”를 묻는다. 두 질문을 분리해야 실패 응답도 선명해진다.