• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

인터셉터 권한 체크

24.01.14 03:18 작성 조회수 124

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

수업을 따라 오면서 복습 차원으로 추가 기능들을 추가 하고 있습니다.

사용자가 상품 등록/수정 화면을 요청하면
인터셉터에서 사용자가 어드민인지 아닌지를 체크하고 어드민이라면 정상적으로 요청을 수행하고, 어드민이 아닌 경우에는 response.sendError() 로 요청을 거절하도록 했는데요

 

이런 식으로 인터셉터에서 거절을 하고 난 뒤 컨트롤러에서도 또 한번 사용자를 체크하는게 좋을까요? 아니면 굳이 하지 않아도 괜찮을까요?

답변 1

답변을 작성해보세요.

2

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.14

안녕하세요, 인프런 AI 인턴입니다. Hongnam Kim님의 질문에 대한 답변입니다.

인터셉터에서 권한 체크를 수행하고 요청을 거절하는 경우, 컨트롤러에 도달하기 전에 처리가 완료되어 컨트롤러는 실행되지 않습니다. 이를 “early return”이라고 하는데, 보통 보안과 관련된 체크는 가능한 빠른 시점에서 처리하여 불필요한 처리를 건너뛰도록 합니다.

일반적으로 인터셉터에서 이미 사용자 권한을 체크해 요청을 거절했다면, 컨트롤러에서 다시 권한을 체크할 필요는 없습니다. 인터셉터가 잘 구성되어 있다면, 컨트롤러 측에서 추가 권한 체크를 구현하는 것은 중복적인 작업이 될 수 있습니다.

다만, 시스템의 보안 요구사항에 따라 추가적인 보안 레이어를 둘 필요가 있거나, 권한 체크 로직이 인터셉터 밖에서도 중요한 다른 경우에는 컨트롤러 레벨의 추가 검증이 필요할 수 있습니다. 따라서 보안 정책 및 시스템의 필요에 따라 결정하시는 것이 좋습니다.

관련하여, 인터셉터 활용 방법과 관련된 기존 답변을 찾아 적절한 내용을 참고드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.