이건 DB 로 따로 처리해야하는 건데 배우는 단계이니 가입자가 한명뿐인 거처럼..ㅋ 데이터를 임의로 만들어줌
저번 CRUD 게시판 만들기 배울 땐 파일을 따로 빼서 require - module.exports로 데이터를 불러왔는데,
이번엔 데이터가 하나뿐이니 그냥 메인 서버.js 파일 상에 넣음
2/ 메인 페이지에서의 router 구현
이건 저번 주에 배운 내용이니 설명 생략
mainServer.js
main.html
3/ 로그인 페이지 router 구현 (get과 post)
<get 요청>
: 메인페이지 => 로그인 페이지 주기
mainServer.js
login.html (get 요청으로 받은 후 보낼 응답 html)
여기까진 기본이다.
<post 요청>
: 두가지 조건을 걸자 => 로그인 성공했을 때 vs 실패했을 때
사용자가 form 데이터로 id와 pw를 넘겼을 때,
우리가 가진 데이터와 맞는지 비교하여 로그인 성공했을 때와 로그인 실패했을 때를 나눠서 응답 routing 하기
#1. 우선, post 요청으로 받은 데이터 쪼개서 파싱해오기
저번 주에 배웠던 내용 / post로 받은 데이터는 요청헤더가 아닌 요청바디로 온다.
반복되는 코드이므로 const {userid,userpw} = req.body 로 줄이기 가능
#2. 로그인 성공하면 로그인 아이디값으로 쿠키값 설정해주기& 메인페이지로 가게 만들기
(로그인 성공이란? : id, pw가 전부 우리의 임시데이터 user 객체의 속성값과 일치할 때)
로그인 실패 시 로그인 페이지로 다시 가게끔 구성
4/ 메인 페이지에서의 router 구현 추가 (로그인 후 메인페이지 구성 바꾸기)
다시 mainServer.js로 돌아가서 로그인 됐을 때와 안됐을 때의 화면 구성을 다르게 잡아보자.
즉, 로그인 되었을 때 / 안되었을 때의 조건문 구성해보기
#1. 로그인 상태는 on/off 스위치와 같으므로 boolean값으로 변수로 잡아주자.
let isLogin = false
로그인 상태를 변수 isLogin으로 잡고 false를 할당해줌 -> 로그인 안됐을 시 실행문 : isLogin은 그대로 false (OFF) + 메인html 파일로 isLogin 변수 넘겨주기 -> 로그인 됐을 시 실행문 : isLogin에 true를 재할당해주는 식으로 구성할 예정 (ON) + 메인html 파일로 isLogin 변수 넘겨줘서 화면 구성 바꿔주기
#2. 로그인이 안 되어 있을 땐 (OFF)
받은 쿠키값이 없을 것이니, 요청헤더의 쿠키값이 undefined일 때로 조건을 잡아주자.
이땐, isLogin변수가 false인 상태로 넌적스 (main.html) 에게 보내질 것이다. (좋은 코드는 아니지만 가라로 하는거니까...)