자동로그인 기능을 구현하기전 먼저 자동로그인의 동작 과정을 사용자입장 과 개발자입장으로 나눠 설명드리겠습니다
1. 프론트 입장에서의 자동로그인
(1) 사용자가 아이디와 패스워드를 입력한뒤 자동로그 체크박스를 체크하거나 체크하지 않은 상태로 로그인 합니다.
자동 로그인을 체크하고 로그인 하는경우
-> 사용자가 브라우저를 끄고 다시 페이지에 접속하더라도 로그인 상태가 일정 시간동안 유지되어야 합니다.
자동 로그인을 체크하지않고 로그인 하는경우
->사용자가 브라우저를 끄고 다시 페이지에 접속하면 로그인 상태가 해제되고 다시 로그인을 해야합니다.
2. 백엔드 입장에서의 자동로그인(자동로그인 동작 과정)
(1) 사용자가 입력한 아이디(문자) 와 비밀번호(문자) 그리고 체크박스 선택논리값(boolean)을 객체를 통해 받아옵니다.
(2) 값을 받았으면 로그인 체크를 한뒤 논리값을 확인해 사용자가 체크박스를 클릭했으면 쿠키에 사용자의 개인 세션값과 만료시간을 저장하여 사용자의 로컬 저장소에 저장시켜주고 DB에 로그인 체크를 한 회원의 세션값과 쿠키 만료시간을 저장해줍니다.
(3) 사용자가 홈페이지에 들어왔을때 로컬에 쿠키가 있는지 확인하고 쿠키가 있으면 쿠키값을 조회합니다.
(4) 조회한 쿠키의 값이 회원의 세션값이므로 세션값을 통해 회원정보를 조회하여 회원정보를 로그인 유지세션에 저장시켜줍니다.
(5) 여기까지 해주면 쿠키만료시간동안 회원은 브라우저를 꺼도 계속 로그인 상태가 유지되게 됩니다.
'Spring Boot 개인 프로젝트 > 회원관리 REST-API서버 구축' 카테고리의 다른 글
(7 - 3)(자동로그인 구현) UserVO클래스에 sessionId,limitDate ,autoLogin 필드 추가하기 (0) | 2021.09.23 |
---|---|
(7 - 2)(자동로그인 구현) login_user테이블에 session_id와 limit_date컬럼추가 (0) | 2021.09.23 |
(6) 지금까지 구축한 REST API가 잘 작동하는지 Postman을 사용하여 테스트 해보기 (0) | 2021.09.20 |
(5) REST API 구축 (0) | 2021.09.20 |
(4) ILoginService인터페이스와 LoginService클래스 생성 그리고 Controller에서 전달받게될 비밀번호 Spring Security이용해서 암호화한다음 Mapper한테 전달 (0) | 2021.09.20 |