@Nayob

Где принято размещать функции проверки наличия авторизации пользователя в приложении при его старте, на примере vue cli?

Собственно сначала думал в хуках жизненного цикла, но потом понял что в этот момент куки еще не прочитаны. А дальше не могу сообразить.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Arsync
В навигационных хуках роутера (vue-router). Любая навигация по приложению, включая начальную страницу, проходит через роутер (если он используется). И там есть beforeEach((to, from, next) => {}), который можно сделать асинхронным. Этот хук способен блокировать открытие целевой страницы. Если маршрут не авторизован, вызываешь next с указанием вместо запрошенного пути страницы входа. Более того, раз уж речь зашла об авторизации, на путь в конфигурации роутера можно добавить meta: { myFieldName: "admin" } и затем понять, какая роль требуется указанному маршруту. Для этого в цикле нужно перебрать все части to.matched и посмотреть, есть ли среди них та, у которой указана meta с заполненным myFieldName.

Под это дело даже официальный пример есть, хоть он и написан для проверки успешной аутентификации пользователя.
Ответ написан
@Nayob Автор вопроса
Разобрался почему не работало checkSession в хуке beforeCreate. Когда прикручивал Vuex забыл указать
axios.defaults.withCredentials = true;
В итоге вынес эту опцию в конфиг.
Спасибо всем откликнувшимся!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы