미들웨어에서 페이지(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
    }
}