vuejs 에서 페이지 이동 전에 인터셉터 할려면 어떤 방식으로 해야 될까요


(블라인드 처리 되었습니다 ) #1

안녕 하세요 vuejs 초심잔데요
로그인 후 메인 페이지 진입 한다음 뒤로 가기 하면 로그인 페이지로 빠져 버리더라구요
그래서 로그인이 되면 쿠키나 로컬스토리지에 무엇인가을 저장 한후 페이지 이동 할때만도 쿠키나 로컬스토리지 뒤져서 로그인 유무을 판별 할려고 하는데요
흐름은 알겠으나 소스코드을 구현을 못하깄어요
정확인 페이지 이동시 마다 로그인 유무을 체크 해야 하는데
어떻게 코드을 짜야 될지을 모르겠습니다.

router 부분에 뭔가을 넣어 줘야 되는지 아니면 각 페이지마다 created 부분이 vuex 에서 state 을 보고 체크을 해야 되는 건지

혹시 샘플 소스나 참고할만한 자료가 있을 까요?


(Jong Chan Park) #2

https://router.vuejs.org/kr/guide/advanced/navigation-guards.html 여기 참고해보세용


(이승철) #3

방법은 다양합니다. vue router를 사용중 이면 로그인 후 로그인 화면에서 router.push가 아니라 router.replace로 다음 페이지로 이동 시키면 router history에 login페이지 url이 남지 않게 됨으로 뒤로 가기시에 로그인 페이지로 가지 않게 됩니다. 여기서 유의점은 location.href 와 router.push 또는 location.replace 와 router.replace를 혼용 해서 사용 해서는 안됩니다. location과 router는 각각 독립적인 history를 가지고 있기 때문입니다.


(이승철) #4

로그인 유무 판단 역시 여러가지 방법이 있습니다. 쿠키, vuex에 담아 두시고 위의 링크를 참고 하셔서 router에서 navigation guard를 활용 하여 로그인으로 보낼지 통과시킬지 선택 하시면 될것 같습니다.


(블라인드 처리 되었습니다 ) #5

답변 감사 합니다. 많은 도움 되었습니다.


(블라인드 처리 되었습니다 ) #6

답변 감사합니다. 많은 도움 되었습니다.


(이종은(Jong Lee)) #7

글의 내용에 따라 카테고리를 vue.js 로 변경했습니다. :slight_smile: