미들웨어에서 페이지(pages/*.vue)의 속성 값 가져오기
미들웨어에서 현재 접속 중인 페이지의 속성 값을 읽어야 하는 경우가 간혹 있습니다.
저 같은 경우에는 접속한 사용자가 해당 페이지를 읽을 수 있는 권한이 있는지를 체크 할 때 사용하였습니다.
접속 페이지(pages/secure.vue)
접속을 하려는 페이지의 코드입니다.
//·pages/secure.vue¬¬¬export·default·{¬····name:·"secure",¬····auth:·"true",¬····level:·100,·//·페이지의·권한·레벨¬····data()·{¬········return·{}¬····}¬}¬¶
미들웨어(middleware/authenticated.js)
"secure" 페이지에 접속하기 전 거치는 미들웨어 페이지입니다.
//·middleware/authenticated.js¬export·default·async·function({·app,·route·})·{¬····//·접속한·사용자의·권한·레벨¬····let·level·=·app.$auth.user.level¬····let·pageLevel·=·route.matched[0].components.default.options.level¬····¬····//·접속하려는·페이지의·레벨보다·낮은·레벨을·가지고·있는·경우¬····if·(level·<·pageLevel)·{¬········//·페이지·접속·불가¬········return¬····}¬}¶
'Javascript > Nuxt' 카테고리의 다른 글
[Nuxt.js] Bootstrap 4 사용하기 (1) | 2019.01.03 |
---|---|
[Nuxt.js] 콜백(callback) 함수를 사용하여 여러 개의 HTTP 요청(Axios) 처리하기 (0) | 2018.12.17 |
[Nuxt.js] Promise.all() 함수를 사용하여 여러 개의 HTTP 요청(Axios) 처리하기 (0) | 2018.12.17 |