로그인 안하셨습니다 라는게 나옵니다.
/add 경로를 거칠때 isLogin 미들웨어에서 로그인안된거로 인식해서그런거같은데..
왜그런건지 모르겠습니다...;
강사님 말씀대로 서버를 재시작하게되면 쿠키가 남아있어도 세션인식이 안될수도있다고해서 서버 재시작안하고 다시해봤는데, 여전히 똑같은 현상이 발생합니다.
function isLogin(req, res, next) {
console.log(req.user);
if (req.user) {
next();
} else {
res.send('로그인 안하셨습니다.');
}
}
콘솔로 req.user를 찍어보면 마이페이지들어가면 유저정보는 잘 출력됩니다
근데 /add에서 미들웨어에서는 언디파인이뜨네요
/add 코드입니다.
app.post('/add', isLogin, function (req, res) {
db.collection('counter').findOne(
{ name: '게시물갯수' },
function (err, result) {
const totalPost = result.totalPost;
const post = {
_id: totalPost + 1,
title: req.body.title,
date: req.body.date,
user: req.user._id,
};
db.collection('post').insertOne(post, function (err, res) {
console.log('저장완료');
db.collection('counter').updateOne(
{ name: '게시물갯수' },
{ $inc: { totalPost: 1 } },
function (err, result) {
if (err) {
return console.log(err);
}
}
);
});
return res.redirect('/list');
}
);
});
추가로 get('/write') 코드에 console.log(req.user)로 확인해보니까 언디파인이뜨네요
혹시 제 경우에 어떤걸 의심해봐야할까요?
정리하자면
로그인상태로 마이페이지 들어가면 누구누구님 마이페이지입니다~ 잘 뜹니다.
write페이지에서만 쿠키(세션)을 잘 못받아옵니다