안녕하세요 선생님.
코드를 짜다가 문제에 막혀 코드 조언을 받고싶어서 질문을 올립니다.
저는 현재 게시판, 로그인 기능을 구현했습니다.
우선 저는 게시판에서 상세페이지로 접근 시에 로그인이 안되어있으면
로그인페이지로 강제로 이동시키는 코드를 짰습니다.
근데 그 과정에서 로그인페이지로 이동되었을 때 alert('로그인이 필요합니다') 처럼 알림문이 띄워지게 만들고 싶습니다.
그래서 제가 알아본 방법으로는
exports.isLoggedIn = (req, res, next) => {
if (req.isAuthenticated()) {
next();
} else {
res.render('login', {message: '로그인이 필요합니다.'});
}
};
위와같이 미들웨어를 만들어서
app.get('/notice-detail/:id', this.isLoggedIn, async (req, res, next) => {
상세 페이지에 접근시에 로그인이 되었나 확인하고, 로그인이 안되어있다면 미들웨어대로 login.ejs 로 message 변수를 실어서
렌더링시켰고, login 페이지상단에
<script>
alert('<%= message%>')
</script>
코드를 추가해줬습니다.
하지만 예상하시다시피 이러면 상세페이지에서 접근하는 방법이 아닌 원래의 방법대로 로그인페이지로 이동시에
message 변수가 전달되었을리 없으니 에러가 발생하는데,
이처럼 조건부가 달린 페이지 렌더링 과정에서 어떤식으로 접근해 코딩을 해야할지 궁금합니다.
긴 글 읽어주셔서 감사합니다.