- Spring MVC 마스터하기 쿠키, 세션 12022년 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 다음글이전글이전 글이 없습니다.댓글