목표

웹 사이트를 만들다보면 유저가 직접 잘못된 URL로 들어오는 것을 어떻게 막을지 고민하게 된다. 이럴 때 미들웨어 코드로 쉽게 막을 수 있다

Usage

이 글은 passport 를 사용하여 req.user 가 있다는 전제하에 진행된다
참고

app.js

const onlyPublic = (req,res,next)=>{
  if(req.user){
    res.redirect('/home');
  }
  else{
    next();
  }
}

app.get('/login', onlyPublic, handleGetLogin);

위 코드는 로그인 되어있는 상태에서 로그인 페이지에 들어가면 홈으로 리다이렉트 시키고, 없으면 다음 처리함수인 handleGetLogin을 실행시킨다

이게 정답은 아니지만 잘못된 URL 접근을 막을 수 있는 방법 중 하나이다