본문 바로가기

Lecture

미들웨어로 로그인 확인하기

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