본문 바로가기
Spring/Login

세션(Session) - 세션 직접 구현하기

by 윤시프16 2023. 5. 15.

세션의 주요 기능


1. 세션 생성
2. 세션 조회
3. 세션 만료

 

 

세션 생성


1. sessionId 생성 (임의의 추정 불가능한 랜덤 값)

2. 세션 저장소에 sessionId와 보관할 값 저장

3. sessionId로 응답 쿠키를 생성해서 클라이언트에 전달 

 

 

세션 조회


1. 클라이언트가 요청한 sessionId 쿠키의 값으로, 세션 저장소에 보관한 값 조회 

 

 

세션 만료


1. 클라이언트가 요청한 sessionId 쿠키의 값으로, 세션 저장소에 보관한 sessionId와 값 제거

 

 

 

세션 테스트 코드


HttpServletRequest , HttpservletResponse 객체는 인터페이스이다.
원래는 톰캣에서 제공해주기 때문에 직접 사용할 수 없다.
테스트에서 비슷한 역할을 해주는 가짜 MockHttpServletRequest , MockHttpServletResponse 를 사용해야한다.

 

 

직접 만든 세션 적용


한번 로그인을 했다면 로그인 상태 유지 가능하다.