-
[JavaScript] 페이지 이동간 권한 체크는 언제?프로젝트 2023. 12. 11. 02:55
서비스를 제작하다보면 관리자 페이지처럼 일반 유저들이 접근하지 못하는 부분을 만드는 경우가 생긴다.
프로젝트 제작 중, "상품 추가"나 "유저 관리" 등 관리자의 권한이 있는 테스크를 제작할 일이 생겼다. 이러한 페이지의 경우 일반적인 클릭으로 이동하거나, URL을 알고 있을 경우 직접적으로 이동하려는 시도가 가능하다.
이 두 가지 방법은 관리자의 권한이 없을 때에도 가능하므로, 다음 두 가지 경우는 피해야한다:
- 페이지를 이동 후 권한 체크 (접근 권한이 없는 사용자에게 페이지 내용을 노출 시킬 수 있음)
- 권한 체크 전 페이지 내용을 불러오는 행위 (당연한 말이다.)
권한 체킹을 하는 라우팅 미들웨어를 하나 제작해서, 페이지 이동하기 전 로그인을 한 게정의 권한 체크를 해주고,
관리자가 맞다면 헤당 페이지로 이동, 아니라면 권한이 없다는 알림을 띄워주고 메인페이지로 이동하도록 하는 것이 맞다.
어떻게 보면 결과만 생각했을 때 당연한 로직인 것처럼 보일 수 있는 문제다. 정확히 왜 이동하기 전 권한 체크를 해야하는지 이유를 몇 가지 알아냈다.
- 효율성: 인증 실패를 했을 때, 페이지를 다시 로드하거나 다른 조치를 또 취해야 한다.
- 보안: 인증 실패를 했을 경우, 불필요한 페이지 접근을 방지한다.
- 자원 최적화(?): 효율성과 연관 있는데, 불필요한 페이지 로딩, 추가 작업을 피함으로써 서버/클라이언트 자원을 효율적으로 사용한다.
'프로젝트' 카테고리의 다른 글
[개인 프로젝트] 맛집 애플리케이션 (0) 2024.05.08 UseEffect의 dependency(의존성) 관리 (0) 2024.05.08 [팀 프로젝트] 호텔 예약 서비스 PLUSPLUS (0) 2023.12.13 여러 가지 데이터를 전송할 땐? 쿼리 파라미터 DTO 써보기. (1) 2023.12.08 프로젝트 시작하기에 앞서 협업 준비 (0) 2022.05.23