로그인 #세션기반인증방식 : 개념 ★★★
by yjym33세션 기반 인증 방식(Session-Based Authentication)은 웹 애플리케이션에서 사용자 인증을 관리하는 데 사용되는 일반적인 방법 중 하나입니다.
이 방식은 사용자가 웹 애플리케이션에 로그인할 때 세션을 생성하고, 이 세션을 사용하여 사용자의 인증 상태를 유지합니다.
세션 기반 인증 방식의 동작 과정:
로그인 프로세스:
사용자가 웹 애플리케이션에 로그인하면, 일반적으로 아이디와 비밀번호를 입력합니다.
서버는 입력된 아이디와 비밀번호를 검증하고, 인증이 성공하면 사용자를 식별할 수 있는 고유한 식별자(일반적으로 세션 ID)를 생성합니다.
세션 생성:
서버는 사용자의 브라우저로 세션 ID를 쿠키나 URL 매개변수 등을 통해 전송합니다.
브라우저는 이 세션 ID를 저장하고 나중에 서버로부터의 요청에 해당 ID를 함께 전송합니다.
세션 저장:
서버는 세션 ID를 사용하여 사용자의 세션 데이터를 서버에 저장합니다. 이 데이터에는 사용자의 인증 상태와 세션에 관련된 다양한 정보가 포함될 수 있습니다.
인증 유지:
사용자가 로그인 상태에서 웹 애플리케이션을 사용하는 동안, 브라우저는 세션 ID를 계속 서버로 보냅니다.
서버는 세션 ID를 사용하여 사용자를 식별하고, 해당 세션에 저장된 정보를 기반으로 사용자의 요청을 처리합니다.
로그아웃 또는 세션 만료:
사용자가 로그아웃하거나 세션 만료 시간(일반적으로 설정 가능)이 경과하면, 해당 세션은 무효화됩니다.
브라우저의 세션 ID도 삭제되어 사용자는 다시 로그인해야 합니다.
세션 기반 인증 방식의 장점:
보안: 사용자 정보는 서버에 안전하게 저장되므로 브라우저에서 직접 조작할 수 없습니다.
세션 관리: 서버는 사용자의 로그인 상태를 쉽게 관리하고 로그아웃, 세션 만료 등의 작업을 수행할 수 있습니다.
유연성: 세션 데이터에 사용자 지정 정보를 저장하여 사용자 경험을 개선할 수 있습니다.
세션 기반 인증 방식의 단점:
서버 부하: 세션 데이터를 저장하고 관리하기 위해 서버 자원이 필요하므로 대규모 웹 애플리케이션에서 서버 부하가 발생할 수 있습니다.
확장 어려움: 사용자 증가 시 서버 확장이 어려울 수 있으며, 로드 밸런싱 등의 관리가 필요합니다.
상태 저장: 사용자의 상태를 서버에 저장해야 하므로, 상태 정보가 변경될 때마다 서버와의 통신이 필요하게 됩니다.
'Development > CS' 카테고리의 다른 글
HTTP 상태코드(status code) ★★★ (0) | 2023.10.08 |
---|---|
로그인 #토큰기반인증방식(access토큰, refresh토큰) 개념 ★★★ (0) | 2023.10.08 |
로컬스토리지, 세션스토리지, 쿠키의 공통점과 차이점 ★★★ (0) | 2023.10.05 |
쿠키(Cookie) ★★★ (0) | 2023.10.05 |
세션스토리지, 로컬스토리지와 세션스토리지의 차이점 ★★★ (0) | 2023.10.05 |
블로그의 정보
생각보다 실천을
yjym33