본문 바로가기

WebApp/Node.js-다중사용자

Node.js -다중사용자(1)

1.register  UI 및 /auth/register 페이지 생성

 

2. lowdb 설치 및 /register_process 페이지 생성

 

(1) npm i -s lowdb로 lowdb설치

 

(2) 상단에

const low = require('lowdb')

const FileSync = require('lowdb/adapters/FileSync')

const adapter = new FileSync('db.json')

const db = low(adapter)

 

db.defaults({ user: []}).write();     -->db최초 상태  user라는 속성 생성

 

(3) router.post(/register_process)코드 작성

db.get('user').push({

}).write()

로 입력값으로 받은 post값을 추가하여 데이터베이스 생성

 

*pm2를 실행할때  프로세스 관리프로그램(pm2)에 db.json 파일변경이 감지되면서, db.json 파일이 초기화 되고, 서버가 재부팅되고, 다시 파일이 초기화 되는 무한루프가 생김

 따라서 해결을 위해 db.json 파일을 무시해주자

pm2 start main.js --watch --ignore-watch="./db.json" --no-daemon

 

 

 

 

 

 

3. shortid설치 및 식별자 id추가 생성

(1) npm i -s shortid로 shortid설치

 

(2) 상단에

const shortid= require('shortid')

 

(3)  

db.get('user').push({

 id: shortid.generate()    -->기존 db.get('user').push 코드에 이 함수를 추가하여 식별자 생성

}).write();    

 

 

4. password 미일치 오류 플래시메세지 생성

 

 

5. 회원가입시 바로 로그인이 되도록 만들기

 

1.request.login의 사용법을 보면 첫번째 인자로 user의 정보를 받기 때문에 기존 코드에서

입력한 user값을 나타내는 객체를 user로 변수화 시킨후 대입한다

 

 

11/02:..10:30경...포기하고 싶드아

*회원가입을 하고 바로 로그인이 되도록 하는 과정에서   Failed to deserialize user out of session 오류 때문에 프로젝트중지

 

11/02...11:10경 아니야 다시 해보자!!!

회원가입을 하고 로그인이 바로 되지 않도록 구현하려고 시도 했는데 회원가입을 한 유저 데이터가 db.json에

잘 생성이 되었으나 회원가입한 데이터로 바로 로그인을 시도 해보았으나 db.json에 저장된 유저데이터를

불러오지 못했다...

문제해결:

pm2 실행시 기존 pm2 start main.js --watch --ignore-watch="db.json session-store-db" --no-daemon

로 실행했었으나

pm2 start main.js --watch --ignore-watch="db.json" --no-daemon로 바꾸니

회원가입으로 저장된 데이터를 로그인시 제대로 가져오게 되었다.

 

 

6. 회원가입한 정보와 로그인 정보가 맞지 않을때 메세지 구현

 

1.회원가입한 정보와 로그인정보의 email 혹은 password가 각각 틀릴때의 메세지들을 구현

 

'WebApp > Node.js-다중사용자' 카테고리의 다른 글