본문 바로가기
Server/Node.js

Session-based Authentication

by print_soo 2023. 9. 5.

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