Ну, я начинаю с nuxt, и у меня есть следующие маршруты:
/home
/dashboard
/login
Я хочу защитить панель инструментов /, но только для пользователей, вошедших с токеном в localStorage
.
Простейший способ сделать это - создать файл /middleware/auth.js
.
export default function () {
if (!window.localStorage.getItem('token')) {
window.location = '/login'
}
}
и зарегистрируйте его в компоненте /dashboard/index.vue.
<script>
export default {
middleware: 'auth',
}
</script>
Но я не могу получить доступ к localStorage
в промежуточном программном обеспечении, потому что LocalStorage на стороне клиента.
Я уже пытался добавить эту же проверку в макет панели инструментов created()
, но я не могу вернуть окно, не установленное mounted()
слишком поздно, оно может быть проверено только после полной сборки страницы.
Так как мне этого добиться?
Примечание: я не собираюсь использовать Vuex для этого проекта.