GOAL : 로그인을 하지 않은 상태로 이동할때 제한을 두고 싶다.
if문으로 하나하나 설정해줄 수도 있지만 같은 내용의 반복이기 때문에 하나의 미들웨어로 검사 해보자.
const authMiddleware = (req,res,next)=>{
const {session} = req;
}
일단 미들웨어 함수를 만들어주고 받아온 request값에 session값만 받아온다.
여기서 if문 처리를 해준다.
const authMiddleware = (req,res,next)=>{
const {session} = req;
if(session.authData == undefined){
console.log('NO LOGIN INFORMATION');
res.redirect('/?msg=NO LOGIN INFORMATION');
}else{
console.log('YES LOGIN');
next();
}
}
각각 메세지들도 설정 해주고 미들웨어니까 next로 넘겨준다.
만들어진 미들웨어를 로그인 확인이 필요한 페이지에 적용시킨다.
app.get('/auth/info',authMiddleware,(req,res)=>{})
app.get('/auth/kakao/unlink',authMiddleware, async (req,res)=>{})
메세지를 띄우고 싶다면 해당 html에 if문을 사용해서 메세지를 띄워준다.
나는 alert로 경고창에 메세지를 띄웠다.
{% if msg %}
<script type="text/javascript">
alert('{{msg}}');
</script>
{% endif %}
결과값
로그인이 안되있을때 alert창이 뜬다.
'Lecture' 카테고리의 다른 글
HTTP 비동기 통신 (0) | 2021.05.25 |
---|---|
HTTP 동기 통신 (4) | 2021.05.25 |
자바스크립트 Switch문 사용 (1) | 2021.05.24 |
자바스크립트 비구조할당문 (0) | 2021.05.24 |
PASSPORT (0) | 2021.05.20 |