로그인 / 회원가입 구현해보기 (7) DB를 사용하여 로그인/회원가입 구현
이전까지 DB없이 JSON 파일형태로 로그인 / 회원가입을 구현해보았다.
여기까지도 나름대로 WAS에 속하고, 의미있는 작업이지만 매번 좀 더 제대로 된 시스템을 위해
AWS의 RDS를 이용하여 MYSQL 데이터베이스를 만들었고, 이를 연동해서 사용하고자 한다.
먼저 db.js를 통해 데이터베이스를 설정해줘야한다.
npm i -s mysql 명령어를 통해 mysql을 설치해주고, db 변수를 만들어(mysql.create.Connection)
호스트와 유저 패스워드 데이터베이스명을 설정해준 뒤, 연결해주고 export 해주면 외부에서
이 데이터베이스를 사용할 수 있게 된다.
이제 models을 수정해주면 된다. users.json 파일을 읽어들였던 getUserInfo 함수와, getUsers,
save 등 모두 지우고( 소스코드를 모두 엎어야 한다 ㅠㅠ )
db를 불러오고, getUserinfo에서 db.query를 통해 하고자 하는 sql문을 입력해준다.
getUserInfo는 로그인의 기능을 담당하는 함수이기에, users 테이블에서 해당하는 아이디에
대한 정보를 불러오는 역할이며, save는 회원가입의 기능을 담당하는 함수라 데이터베이스에
입력을 담당한다. 이를 통해 이전시간까지 되어있던 파일을 통해서 다루던 것을 DB를 통해
다루는 방식으로 완전히 바꿀 수 있다.
이 역할이 제대로 수행되는지 MYSQL 워크 벤치를 켜서 실시간으로 확인해보자
현재 다섯명에 대한 DB 정보가 저장되어 있다.
먼저 로그인이 되는지 부터 테스트해보자.
비밀번호를 제대로 적지 않으면, 틀렸다는 에러가 나오고
DB에 들어있는 대로 알맞게 입력하면
루트 페이지로 이동한다.
이번엔 회원가입이 제대로 이루어지는지 확인해보자.
성공적으로 DB에 새로운 데이터가 자동으로 입력이 되는 것을 확인할 수 있다.
이렇게 파일시스템으로 구현되던 로그인/회원가입 기능을 ASW DB와 연동하여
사용하는것으로 성공적으로 대체할 수 있다.