반응형
세션을 이용하여 로그인 정보를 저장하자.
https://www.npmjs.com/package/express-session 이동
1. express-session 설치
npm install --save express-session
2. 프로젝트에 모듈연결
var session = require('express-session');
3. app.use session으로 사용 설정
app.use(session({
secret :'asdjha!@#@#$dd',
resave:false,
saveUninitialized:true
}))
!! 3군데를 고쳐야 함.
1. welcome 페이지 넘길때, session 값 넘겨주기
2. login시, session에 값 넣기
3. register 등록시, session에 값 넣기
4-1. welcome pug 호출시, session 값 넘기기
router.get('/user/welcome',(req,res)=>{
console.log('displayname ',req.session.displayname)
res.render(path.join('.','user','welcome')
,{dispname : req.session.displayname}); //<-이부분 추가
})
4-2. login시, session 값 넣기
router.route('/user/login')
...
if(user){
console.log(user,user.displayname);
req.session.displayname=user.displayname;
return req.session.save(()=>{
res.redirect('/user/welcome');
})
}
4-3. register 할 때 session값 넣기 [이 사이트는 등록시, 최초 로그인 시키기 위해 이렇게 함.]
req.session.displayname=temp.displayname;
return req.session.save(()=>{
return res.redirect('/user/welcome');
})
4-4. req.session.save() 세션등록 후 진행할 액션
* 비동기적으로 실행 하기 때문에 동기 실행을 위해 필요한 코드.
req.session.save(()=>{})
4-5. welcome.pug
#{dispname} 하여 로그인 사용자 정보 표시
h1 WELCOME! #{dispname}
-if(dispname){
div
a(href='/user/logout') Logout
-}else{
div
a(href='/user/login') Login
div
a(href='/user/register') Register
-}
5. Logout 처리
로그아웃시, session delete 시킴!
router.route('/user/logout')
.get((req,res)=>{
delete req.session.displayname;
return req.session.save(()=>{
return res.redirect('/user/welcome');
})
})
반응형
'Nodejs' 카테고리의 다른 글
[NODEJS 입문]13.(사용자 DELETE) 사용자 삭제 (0) | 2018.06.11 |
---|---|
[NODEJS 입문]12.(사용자 UPDATE) 사용자 정보 변경 (0) | 2018.06.11 |
[NODEJS 입문]9.(사용자 CREATE) 사용자 등록하기 (0) | 2018.06.11 |
[NODEJS 입문]8.(사용자 READ) welcome 및 로그인 페이지 작성 (0) | 2018.06.11 |
[NODEJS 입문]6. 정적파일 경로 지정 (0) | 2018.06.08 |