728x90
세션 기반 인증
세션 : 사용자가 인증에 성공한 상태로 세션 스토어나 인메모리 DB에 저장 됨
세션 아이디 : 각 세션을 구분할 수 있는 기본키 같은 역할
로그인
1. 만약 사용자가 로그인을 요청한 후에 성공했을 경우
서버는 세션을 만들어 저장한 후에 세션의 아이디를 클라이언트에 전달
2. 로그인을 유지할 수단으로 쿠키를 사용하며
이때 쿠키에 세션의 아이디를 저장해둔다.
3. 쿠키에 저장된 세션 아이디를 서버에 전달하면서
세션 스토어에 저장하는 세션이면 로그인 상태가 검증되기 때문에
쿠키와 세션을 사용해 로그인 상태를 유지할 수 있다.
로그아웃
세션은 로그인 성공에 대한 증명 정보를 가지고 있는
일종의 서버 측에 자유롭게 드나들 수 있는 프리패스권과 같은 개념이다.
그래서 로그아웃을 하기 위해서는 서버 측에서는 해당 세션의 정보를 삭제하고
클라이언트 측에서는 쿠키를 갱신하면 된다.
서버가 클라이언트의 쿠키를 삭제할 수는 없기 때문에
set-cookie를 사용해 클라이언트에 쿠키를 전송할 때
세션 아이디의 키값을 무효한 값으로 갱실할 수 있다.
'Back-End > Security' 카테고리의 다른 글
[스프링 시큐리티] 회원가입 구현 (0) | 2023.07.10 |
---|---|
[스프링 시큐리티] 기본 (0) | 2023.07.10 |
Cookie (0) | 2023.07.07 |
Hashing (0) | 2023.07.07 |
HTTPS (0) | 2023.07.07 |