로그인 한 사용자만 사진(이미지)를 보여주고 싶을 때 미들웨어 확장을 통해 보여준다.
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()는 만약 로그인이 실패했다면 다음 라우터의 미들웨어로 넘어간다.