미들웨어에서 페이지(pages/*.vue)의 속성 값 가져오기
미들웨어에서 현재 접속 중인 페이지의 속성 값을 읽어야 하는 경우가 간혹 있습니다.
저 같은 경우에는 접속한 사용자가 해당 페이지를 읽을 수 있는 권한이 있는지를 체크 할 때 사용하였습니다.
접속 페이지(pages/secure.vue)
접속을 하려는 페이지의 코드입니다.
// pages/secure.vue이 페이지는 보안 페이지입니다.
미들웨어(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 |