로그인 유지를 위한 세션 사용(쿠~키와 세~션)
- 세션은 브라우저를 종료하고 다시 시작할 때 찾아갈 실마리가 없음
- 이를 해결하기 위해서 쿠키에 세션 id를 저장해준다.
- 세션을 사용해서 정보를 저장하는 경우는 매번 반복해서 작업할 필요 없는 경우들이 있다...(로그인 유지 등..)
쿠키에 세션 id를 저장하고 expire time을 주고 이 시간만큼 세션이 다시 찾아갈 수 있는 실마리를 줄 수 있도록 한다.
쿠키
- 개인적인 정보는 남기지 않는다.
- 세션 id를 주고 expire time을 넣어서 해당 세션이 브라우저를 종료시켜도 이 아이디를 참고로 할 수 있게 한다.
세션
- 로그인 아이디와 같은 중요 정보를 쿠키를 사용하지 않고 세션을 사용해서 로그인 정보를 남겨서 stateless 상태의 http가 아닌 지속 연결 상태를 유지해서 로그인과 같은 경우를 계속해서 유지할 수 있게 해주어야 한다.
서버가 여러대?
request.getSession() -> 서버가 여러대일 경우 내 요청이 바로 불러오지 못하기 때문에(참조를 못함) 별도의 레포지토리를 만들어서 쿠키에서 id 값을 가져와야 한다.(redis에서는 서버가 두대이상일 때 웹서버에서만 존재하는 것으로는 참조가 안 되기 때문에 레포지토리를 만들어서 참조할 수 있게 하는 방식..)
웹서버 메모리에 저장 -> request에서 요청을 하게 되면 서버가 한 대라면 바로 참조를 해서 가져온다.
'Back-End > 백엔드 관련 정리' 카테고리의 다른 글
security Error 처리 - 부제: 너두 할 수 있어! (0) | 2022.12.08 |
---|---|
spring security - 필터 (0) | 2022.12.06 |
인증(1) - 단방향 해시 함수의 다이제스트 (0) | 2022.12.05 |
[javascript][open data] - 공공포털 데이터를 사용해보자 (0) | 2022.10.04 |
[자바][다시 개념 정리] - 객체 지향 프로그래밍? (0) | 2022.09.24 |