최대 1 분 소요

6.1.3 로그인/로그아웃 기능 실습

  • 로그인/로그아웃 기능 개발
  • 로그인 상태이면 상단 메뉴가 로그아웃, 개인정보 수정이 나타나야하며
  • 로그아웃 상태이면 상단 메뉴가 로그인, 회원가입이 나타나야한다.
  • Hint
    1. 로그인이 성공하는 경우 다음 코드를 참고해 세션에 로그인 정보 추가

       HttpSession session = req.getSession();
       session.setAttribute("user", user);
      
    2. JSP 에서 세션 데이터 체크 및 JSTL 에서 if/else 분기문 처리

       <c:choose>
       	<c:when test="${not empty sessionScope.user}">
       		[html 구문]	
       	</c:when>
       	<c:otherwise>
       		[html 구문]	
       	</c:otherwise>
       </c:choose>
      
    3. Session 에 저장된 데이터를 삭제하는 방법 (2개)

       HttpSession session = req.getSession();
       // 첫 번째 방법
       session.removeAttribute("user", user);
       // 두 번째 방법
       session.invalidate();
      

6.1.4 회원 목록 및 개인 정보 수정 보안 강화 실습

  • 현재 사용자 목록은 모든 사용자가 보고 수정할 수 있다.
  • 사용자 목록조회는 로그인 사용자만 가능하며, 개인 정보 수정은 자신의 정보만 수정 가능해야한다.
  • Hint

    세션에 저장된 데이터를 꺼내오고 싶은 경우

      HttpSession session = req.getSession();
      Object value = session.getAttribute("user");
      if (value != null){
      	User user = (User) value;
      }
    

6.1.5 중복 코드 제거

  • JSP 파일의 중복을 제거한다
  • Hint

    JSP 의 <jsp:inclue page=...> 또는 <@ include file=...> 를 사용해 중복을 제거할 수 있다.


구현 코드 브랜치 : origin/step1-user-completed-no-database