본문 바로가기

카테고리 없음

Node.js 미들웨어 확장

로그인 한 사용자만 사진(이미지)를 보여주고 싶을 때 미들웨어 확장을 통해 보여준다. 

 

 

 

app.use("/", (req,res,next) => {
  if(req.session.id) {  <------------- (로그인 성공했다면 이미지 보여주기)
  express.static(__dirname, "public")(req,res,next)
  } else {  
    next(); <------------------(로그인 실패했으면 다음 미들웨어로 넘어 간다.)
    }
  });

미들웨어 확장은 미들웨어 안에 미들웨어를 넣으면 된다. 로그인 후 req.session 객체를 받아와서 로그인 한 사용자만 이미지를 볼 수 있게 하였다.

 

 

req.session.data는 영구적으로 로그인 된 상태를 유지한다.

req.data는 일회성으로 로그인 후 새로고침하면 로그인상태가 사라지면서 초기화 된다.

next()는 만약 로그인이 실패했다면 다음 라우터의 미들웨어로 넘어간다.