Cookie란?
: 브라우저에 저장할 수 있는 긴 문자열
Session-based Authentication란?
사용자의 세션정보를 저장해서 로그인 기능을 구현하는 방법
<자세한 작동 방식>
1. 유저가 로그인을 하면 유저가 로그인했다는 정보를 서버에 저장하고 세션 아이디가 적힌 쿠키를 보낸다.
2. 이후 마이페이지와 같은 로그인 후 사용할 수 있는 기능을 수행하려고 하면 자동으로 세션 아이디가 적힌 쿠키를 몰래 서버에 보내게 된다. 서버에서는 이 세션 아이디가 서버에 저장되어 있는지 확인 후 결과에 따라서 마이페이지 html을 전달하지 말지 정한다.
장점
- 서버에서 클라이언트의 상태를 유지하고 있으므로, 사용자 로그인 여부 확인이 용이하고, 경우에 따라서 강제 로그아웃등의 제재를 가할 수 있다.
- 클라이언트가 임의로 정보를 변경시키더라도 서버에서 클라이언트의 상태 정보를 가지고 있으므로 비교적 안전하다
단점
- 서버에서 클라이언트의 상태를 모두 유지하고 있어야하므로 클라이언트 수에 따른 메모리나 DB에 부하가 심하다.
- 사용자가 많아지는 경우 서버 확장을 이용해야하는데 이 때 세션 관리가 어려워진다.
- 멀티 디바이스 환경에서 로그인 시 중복 로그인 처리가 되지 않는 등의 신경 써줘야 할 부분들이 생긴다.
'Server > Node.js' 카테고리의 다른 글
Open Authentication(OAuth) (0) | 2023.09.05 |
---|---|
JSON Web Token(JWT) (0) | 2023.09.05 |
글 수정기능 만들기 (1) | 2023.09.04 |
html 조립식으로 만들기 (0) | 2023.09.03 |
todo 목록 상세페이지만들고 이동시켜보기(detail/1) (0) | 2023.09.03 |