• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • Spring MVC 마스터하기 쿠키, 세션 1
        2022년 05월 29일
        • starryeye
        • 작성자
        • 2022.05.29.:38
        반응형

        쿠키

        서버에서 로그인에 성공하면 HTTP 응답에 쿠키를 담아서 브라우저에 전달.

        -> 앞으로 브라우저는 서버로 요청 할 때마다 해당 쿠키를 계속 전달한다.

        -> 서버로 로그인 했다는 것을 알려준다.

        -> 로그인 상태를 유지하기 위함이다.

         

        영속 쿠키

        만료 날짜를 입력하면 해당 날짜까지 유지

         

        세션 쿠키

        만료 날짜를 생략하면 브라우저 종료시 까지 유지 

         

         

        로그인 기능을 개발해보자

        위 예시는 쿠키를 만들어 응답으로 내려주는 예시이다.

        만료 날짜를 생략 했기 때문에 세션 쿠키이다.

         

        로그인 성공 시..

        HttpServletResponse에 addCookie 메서드를 통하여 key, value 형태로 이루어진 Cookie를 추가하였다.

        -> 쿠키를 받은 클라이언트는 요청때 마다 쿠키를 보낼 것이다.

         

        로그인 실패 시..

        bindingResult에 reject 메서드를 통하여 글로벌 오류(Object Error)를 등록 후, 다시 로그인 입력 창으로 보낸다.

        (로그인 입력 창에서는 글로벌 오류에 해당하는 액션을 해준다.)

         

        로그인 유무에 따른 홈 화면

        로그인 유저와 로그인 하지 않은 유저는 홈 화면에 다르게 표시 해줘야 한다.

        로그인 유저는 홈 화면 접근 시, 쿠키를 요청 데이터에 포함 하여 보낼 것이므로..

        쿠키를 조회하여 로그인 유무를 판단한다.

        로그인 상태로 판별하면 회원 정보를 model에 넣어 로그인된 홈화면으로 보낸다.

        로그인 되지 않은 상태로 판별하면 일반적인 홈화면으로 보낸다.

         

        @CookieValue

        쿠키를 조회 할 수 있다.

        name 요소로 쿠키의 key와 매칭하여 value를 memberId(파라미터)에 넣어준다.

        required 요소를 false로 하여 쿠키 유무를 optional 로 처리한다.

         

        로그아웃 기능

        로그인 성공 했을 때와 같이 쿠키를 만들지만.. value를 null로 설정하였으며

        만료 시간을 0으로 설정하여 쿠키를 응답으로 내려준다. (덮어쓰기)

        -> 해당 쿠키는 즉시 종료

        반응형

        'Spring > MVC' 카테고리의 다른 글

        Spring MVC 마스터하기 쿠키, 세션 3  (0) 2022.05.29
        Spring MVC 마스터하기 쿠키, 세션 2  (0) 2022.05.29
        Spring MVC 마스터하기 Validation 10  (0) 2022.05.28
        Spring MVC 마스터하기 Validation 9  (0) 2022.05.26
        Spring MVC 마스터하기 Validation 8  (0) 2022.05.26
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바