본문 바로가기

Spring

로그인 처리1 - 쿠키, 세션 : 로그인 처리하기 - 쿠키 사용

인프런 영한님의 스프링 mvc2편을 보고 정리한 글입니다.

무엇을 배웠나요?

  • 쿠키를 사용해 로그인, 로그 아웃을 구현하기

로그인

  • 쿼리 파라미터를 계속 유지하면서 보내는 것은 상당히 귀찮고 까다로움.
  • 만약 로그인에 성공한다면 HTTP응답에 쿠키를 담아서 브라우저에 전달한다. 그러면 브라우저는 앞으로 해당 쿠키를 서버에게지속해서 보내준다.
  • 서버에서 쿠키 생성하는 구조도

  • 클라이언트가 쿠키 전달해주는 구조도

  • 쿠키에는 영속 쿠키와 세션 쿠키가 있다.
    • 영속 쿠키는 만료 날짜를 입력하면 해당 날짜까지 유지
    • 세션 쿠키는 만료 날짜를 생략하면 브라우저가 종료시까지 유지
  • 쿠키 생성로직

  • 로그인에 성공하면(입력폼에서 들어온 id와 pw가 존재하는 회원이라면) 쿠키를 생성하고 HttpServeletResponse 에 담는다.
  • 쿠키 이름은 memberId이고 값은 회원의 Id를 담아둔다.
  • 브라우저는 종료전까지 회원의 id를 서버에 계속 보내줄 것이다.
  • @CookieValue를 사용하면 편리하게 쿠키를 조회할 수 있다.
  •  로그아웃
    • 로그아웃 방법은 다음과 같다.
    • 세션 쿠키이므로 웹브라우저 종료시 로그아웃
    • 서버에서 해당쿠키의 종료 날짜를 0으로 지정

  • 쿠키를 삭제하지 못하기에 쿠키의 값을 덮어 씌운다.
  • 이때 쿠키의 MaxAge를 0으로 하면 해당 쿠키는 즉시 종료된다.

더 필요하다고 생각한 것이 있나요?

  • 모든 개발자들을 위한 http강의를 다시 봐야 할 것 같다.