728x90
반응형
1. 미들웨어는 이런식으로 사용이 된다.
// 로그인
router.get('/login', isLoggedIn, (req, res) => {
res.render('login');
});
- 라우터가 실행될 때, 그전에 먼저 실행되서 어떻게 할건지를 설정해준다. ( 예를들어 로그인이 안되어있을 경우 이런 페이지로 가겠다. ) 사실 라우터마다 설정들을 다 해줄 순 있지만, 굳이 반복되는 코드를 여러번 쓰는것보단 미들웨어로 한번에 처리하면 사용하기에도 편리하다.
먼저, middleware.js라는 파일을 만들고 exports 되는 함수들을 정의한 다음에
const { isLoggedIn, isNotLoggedIn, DataSet, agentDevide } = require('./middleware');
이런 식으로 미들웨어 사용이 필요한 라우터 마다 require로 정의를 해주었다.
2. 나는 이런식으로 로그인이 될 경우에 메인화면으로 오게 만들었고,
exports.isLoggedIn = (req, res, next) => {
try {
req.decoded = jwt.verify(req.cookies.token, secretObj.secret);
res.redirect('/main');
} catch(err) {
next();//Token 만료시 다시 로그인 페이지로 넘어가게 설정
}
};
3. 모든 페이지마다 로그인이 안되어있을 경우에 루트 페이지로 가도록 설정했다.
exports.isNotLoggedIn = (req, res, next) => {
try {
req.decoded = jwt.verify(req.cookies.token, secretObj.secret);
next();
} catch(err) {
res.redirect('/') ;//Token 만료시 다시 로그인 페이지로 넘어가게 설정
}
};
728x90
반응형
'Node.js - JQuery' 카테고리의 다른 글
Node.js , JQuery | Nunjucks 템플릿 엔진 사용 (0) | 2021.09.14 |
---|---|
Node.js , JQuery | 비밀번호 찾기 | 화면 구성 (0) | 2021.09.14 |
Node.js , JQuery | 로그인 만들기 | 화면 구성 (0) | 2021.09.14 |
Node.js , JQuery | 회원가입 만들기 | 인증번호 이메일 전송(2) (0) | 2021.09.14 |
Node.js , JQuery | 회원가입 만들기 | 인증번호 이메일 전송(1) (0) | 2021.09.14 |