개발
라라벨 웹사이트 자동 로그아웃 기능 (expire_on_close)
by
오랜만에 개발기록 하나 남겨보려한다.
라라벨에서 회원 로그인 기능을 만들었다면 서버에 세션을 생성해서 회원의 로그인 여부를 판단한다.
그리고 이 세션에 매핑되는 쿠키를 클라이언트의 브라우저에 저장한다.
이 클라이언트가 들고있는 쿠키값이 만료되이 이전에 웹사이트를 종료해도 다시 로그인하면 서버의 세션과 매핑해 이전 사용자임을 인식하게 하는게 '로그인 유지'라 볼 수 있다.
그럼 자동 로그아웃처럼 보이게 하는 원리는 위의 구조에서 클라이언트의 브라우저에 쿠키를 유지하지 않게 하면 되는것이다.

그래서 최초 사용자가 로그인했을때 브라우저에 쿠키를 저장할때 이 쿠키를 브라우저 종료시 바로 소멸이 되게 하는 방법은 아래와 같다.
라라벨 프로젝트의 config/session.php 파일에서 아래 설정을 찾아서 true로 그 값을 바꿔주면된다.
/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => true,Copy이렇게 해주고 서버 콘솔에 가서 설정값이 라라벨 프로젝트에 적용이 되게 아래 명령어를 입력해주면 끝이다.
~ php artisan config:cache
Copy그러면 이제 로그인한 사이트도 브라우저를 끄거나 창을 끄면 바로 쿠키가 소멸이 되어 재접속 시 로그인 정보가 날아가게 된다!
언빌리버블!
#Laravel
0
개의 댓글