인프런 영한님의 스프링 mvc2편을 보고 정리한 글입니다.
무엇을 배웠나요?
- 쿠키를 사용해 로그인, 로그 아웃을 구현하기
로그인
- 쿼리 파라미터를 계속 유지하면서 보내는 것은 상당히 귀찮고 까다로움.
- 만약 로그인에 성공한다면 HTTP응답에 쿠키를 담아서 브라우저에 전달한다. 그러면 브라우저는 앞으로 해당 쿠키를 서버에게지속해서 보내준다.
- 서버에서 쿠키 생성하는 구조도
- 클라이언트가 쿠키 전달해주는 구조도
- 쿠키에는 영속 쿠키와 세션 쿠키가 있다.
- 영속 쿠키는 만료 날짜를 입력하면 해당 날짜까지 유지
- 세션 쿠키는 만료 날짜를 생략하면 브라우저가 종료시까지 유지
- 쿠키 생성로직
- 로그인에 성공하면(입력폼에서 들어온 id와 pw가 존재하는 회원이라면) 쿠키를 생성하고 HttpServeletResponse 에 담는다.
- 쿠키 이름은 memberId이고 값은 회원의 Id를 담아둔다.
- 브라우저는 종료전까지 회원의 id를 서버에 계속 보내줄 것이다.
- @CookieValue를 사용하면 편리하게 쿠키를 조회할 수 있다.
- 로그아웃
- 로그아웃 방법은 다음과 같다.
- 세션 쿠키이므로 웹브라우저 종료시 로그아웃
- 서버에서 해당쿠키의 종료 날짜를 0으로 지정
- 쿠키를 삭제하지 못하기에 쿠키의 값을 덮어 씌운다.
- 이때 쿠키의 MaxAge를 0으로 하면 해당 쿠키는 즉시 종료된다.
더 필요하다고 생각한 것이 있나요?
- 모든 개발자들을 위한 http강의를 다시 봐야 할 것 같다.
'Spring' 카테고리의 다른 글
로그인 처리1 - 쿠키, 세션 : 로그인 처리하기 세션 - 동작 방식 (0) | 2022.09.12 |
---|---|
로그인 처리1 - 쿠키, 세션 : 쿠키와 보안문제 (0) | 2022.09.12 |
로그인 처리1 - 쿠키, 세션 (0) | 2022.09.11 |
검증2 - Validation : HTTP 메시지 컨버터 (0) | 2022.09.01 |
검증2 - Validation : Form 전송 객체 분리 (0) | 2022.09.01 |