LARAVEL

Laravel의 파일 기반 세션 관리 개요

litzoo 2025. 3. 21. 15:53

이번에 알게된 라라벨 스토리지 폴더의 세션 디렉토리에 대해 그냥 글을 써보려고 함

https://www.linkedin.com/pulse/secure-scale-best-practices-using-laravel-sessions-jessica-specter--jb9bf

 

 


1. 세션 파일 생성

 

http://www.project.com

라는 프로젝트가 있다고 가정하고,

누군가가 이 프로젝트에 접속을 하면 그 즉시 랜덤명으로 세션파일이 하나가 생성된다

랜덤 세션 생성 값

해당 세션 파일은 사용자의 IP 등과 관계없이 Laravel의 세션 관리 방식에 따라 자동 생성됨.

 

2. 세션 데이터 저장

컨트롤러에서 Session::put('member_seq', $member_seq)을 실행하면, 

세션 파일 내부에 member_seq: 25 같은 형식으로 값이 저장됨.


이는 Laravel의 세션 관리 메커니즘을 통해 자동으로 객체 형태로 직렬화(serialize)되어 저장됨.

로그인 성공 시, 세션에 값넣기
저장이 잘 되었다

저장이 잘 되었는데 중간에 s:9 i, s:10 이런건 뭐지;;?

 

3.로그아웃 처리
Session::forget('member_seq')를 실행하면, 해당 세션 파일에서 member_seq 키가 제거됨.
세션 자체가 삭제되는 것은 아니며, 특정 값만 사라지는 것.

위의 member_seq 이런값들이 싹 사라져버림

 

4.사용자의 접속 여부 파악
세션 파일을 기준으로 사용자가 현재 접속 중인지 여부를 판단할 수 있음.
그러나 Laravel의 세션 만료 정책(예: 일정 시간 후 자동 삭제)을 고려해야 함.

 

5.세션 객체 역할
Laravel은 내부적으로 세션을 객체 형태로 관리하며, 파일 스토리지에서는 이를 직렬화된 문자열로 저장함.
세션 데이터를 조작하면 즉시 반영되어 파일에도 적용됨.

 

6.세션 초기화

초기화 하고 싶으면 터미널 열고

php artisan cache:clear

입력하면 캐시와 함께 세션값이 초기화 된다..!

728x90
반응형