담당 역할
- 회원가입 및 로그인 기능 구현
- Servlet 기반 요청 처리 로직 구현
- 세션 기반 인증 및 권한 검증 로직 구현
- 회원 상태 관리 로직 설계
- 서버단 접근 제어 및 예외 처리 구현
- 일부 DAO 및 DB 연동 로직 구현
JSP / Servlet Team Project
여행지 및 맛집 정보를 기사 형태로 등록하고, 카테고리 기반으로 조회할 수 있는 웹 콘텐츠 관리 시스템입니다.
Full Project Screens
Overview
Backend
Frontend
Tool
Key Features
01
입력값 검증부터 세션 저장까지 이어지는 사용자 인증 흐름
구현 설명회원가입 입력 데이터를 서버에서 검증하고, 로그인 성공 시 HttpSession에 사용자 정보를 저장해 로그인 상태를 유지했습니다. 인증 정보는 이후 게시글 작성, 수정, 삭제 요청의 권한 검증 기준으로 사용했습니다.
02
비로그인 사용자의 직접 URL 접근을 서버단에서 차단
구현 설명비로그인 사용자가 글쓰기, 수정 페이지 URL에 직접 접근하는 경우 Servlet에서 세션 존재 여부와 memberId 값을 확인했습니다. 인증되지 않은 요청은 로그인 페이지로 리다이렉트해 서버단에서 접근을 차단했습니다.
03
회원의 활동 기록을 마이페이지에서 확인하고 기본 회원 정보를 수정하는 흐름 구현
구현 설명마이페이지에서 사용자의 게시글, 좋아요 등 활동 기록을 확인할 수 있도록 구성했습니다. 회원 정보 변경 요청 시 입력값을 검증하고, 변경된 정보가 화면에 반영되도록 처리했습니다.
04
활동 등급 변경과 탈퇴 후 3개월 이내 계정 복구 정책 적용
구현 설명회원 활동 상태에 따라 등급을 변경할 수 있도록 관리 흐름을 구성했습니다. 탈퇴 회원은 탈퇴일 기준 3개월 이내 재가입 시 기존 계정을 복구할 수 있도록 처리했습니다.
Architecture
Troubleshooting & Impact
비로그인 사용자가 URL을 직접 입력하여 글쓰기 또는 수정 페이지에 접근할 수 있는 문제가 발생했습니다.
초기 구현에서는 프론트엔드에서 버튼을 숨기는 방식으로만 접근을 제어했고, 서버단 로그인 상태 검증이 충분하지 않았습니다.
Servlet에서 Session 존재 여부와 세션에 저장된 memberId를 검증하고, 로그인하지 않은 경우 로그인 페이지로 리다이렉트했습니다.
비인가 사용자 접근을 차단하고, 서버단 권한 검증 로직을 강화했습니다.
접근 제어는 UI가 아니라 서버단에서 반드시 검증되어야 한다는 점을 경험했습니다.