Study/SpringBoot

로그인처리 - 세션 방식

걸륜 2021. 8. 31. 22:55
반응형

쿠키값은 임의로 변경될 수 있고
쿠키에 보관된 정보는 해킹될 수 있기에 

서버에 중요한 정보를 보관하고 연결을 유지하는 방법, 즉 세션으로 로그인처리해야 한다. 

동작방식:
1. 사용자가 로그인, 비밀번호 정보를 저장하면 서버에서 해당 사용자가 맞는지 확인한다.
2. 그럼 서버에서 추정불가능한 랜덤값, 즉 'UUID'를 만든다.
3. 서버는 세션 저장소를 만들고 그 값(UUID)을 토큰 키(sessionId)로 사용한다. 
4. 값(value)은 회원객체로 매핑한다.
5. 그렇게 서버에 sessionId와 value가 저장된다. 세션아이디를 알면 회원 객체를 꺼낼 수 있다.  

6. 서버는 클라이언트에 'sessionId만 쿠키에 담아서 전달한다.  
7. 클라이언트는 쿠키저장소에 sessionId 정보가 담긴 쿠키를 보관한다.  

*회원과 관련된 정보는 전혛 클라이언트에 전달되지 않는다.
*추정 불가능한 세션id만 쿠미를 통해 클라이언트에 전달한다.

8. 웹브라우저가 특정페이지 들어가면 쿠키를 전달하는데, sessionId 정보를 서버로 전달한다.
9. 서버에서는 세션저장소를 뒤져서 키(sessionId)에 맞는 value(회원객체)가 있는지 확인한다.