| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- DI
- 페이징
- JPA
- JdbcTemplate
- 스프링 부트
- kafka
- JWT
- Spring
- Routing Key
- docker compose
- dockerhub
- mybatis
- DLQ
- 쿠버네티스
- 컨테이너
- redis
- MSA
- Spring Container
- JPQL
- AWS
- CORS
- 지연 로딩
- Spring Data JPA
- Dead Letter Queue
- @Transactional
- securitycontextholderfilter
- docker
- 서블릿 컨테이너
- @ComponentScan
- Web
- Today
- Total
look-forest
Session을 활용한 인증 본문
intro
중요 정보를 쿠키로 브라우저에 저장하면 보안상 위험하다
Session이란?
세션 데이터는 쿠키 자체에 저장되지 않고 세션 ID 만 저장됨. 세션 데이터는 서버 측에 저장!
- 브라우저는 쿠키를 이용해 사용자를 식별하는 식별자만 저장(세션 ID = 사용자를 식별하는 쿠키 값)
- 실제 데이터는 서버쪽에 안전하게 파일이나 db로 저장
session 도입하기

session 동작 방식
1. 처음엔 request header에 sessionIdsessionId 없음 -> response header로 전달받음
2. 브라우저에 쿠키값으로 저장
3. 이후 request header로 sessionId 전달

4. session을 프로그래밍적으로 활용하기
- request.session 객체의 데이터 활용 (request의 쿠키 값(sessionId)로 DB의 세션정보를 가져옴)
- request.session.destroy(callback);으로 세션 제거
session store
Session data는 기본적으로 서버의 메모리에 저장됨. 즉 서버를 꼇다 키면 날라감.
->DB, file 등에 세션 정보 저장 가능


*session store에 저장 시 코딩한 내용이 세션에 반영이 안 될 경우

session을 활용한 인증 개요
일반적으로 사용자 인증에 사용되는 자격 증명은 로그인 요청 중에만 전송됨.
인증이 성공하면 브라우저에 설정된 쿠키를 통해 세션이 설정되고 유지됨.
각 후속 요청에는 자격 증명이 아니라 세션을 식별하는 고유한 쿠키가 포함됨.
1. 사용자 정보 객체를 세션에 식별자로 저장

2. 이후 요청마다 session에 저장된 식별자를 통해서 사용자 정보 객체를 불러옴

참고
- 생활코딩
출처
'Web > Technique' 카테고리의 다른 글
| 오픈 API 사용 (0) | 2021.02.18 |
|---|---|
| Ajax (0) | 2021.02.12 |
| Frontend와 backend 연결하기 feat.CORS (0) | 2021.01.29 |
| Federated Identity (0) | 2021.01.28 |
| Token을 활용한 인증 (0) | 2021.01.28 |