Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React Router: authentication, authorization

Как реализовать проверку авторизации при переходе между маршрутами?

Вопрос проверяет умение защищать маршруты и управлять доступом пользователей в SPA.

Короткий ответ

Проверка авторизации обычно реализуется через глобальный beforeEach guard. В нём проверяется наличие токена или состояния авторизации. При отсутствии доступа выполняется редирект на страницу логина. Такой подход централизует логику безопасности. Это стандартное решение во Vue-приложениях.

Длинный ответ

Контроль доступа к маршрутам — одна из самых частых задач при использовании Vue Router.

Использование глобального beforeEach

Наиболее распространённый способ — глобальный guard.

router.beforeEach((to, from, next) => {
  const isAuth = store.state.isAuthenticated;

  if (to.meta.requiresAuth && !isAuth) {
    next('/login');
  } else {
    next();
  }
});

Использование meta-полей

Маршруты помечаются флагами доступа.

{
  path: '/profile',
  component: Profile,
  meta: { requiresAuth: true }
}

Преимущества подхода

  1. Централизованная логика

  2. Простота поддержки

  3. Лёгкое масштабирование

Дополнительные меры

  • Проверка прав ролей

  • Обновление токена

  • Обработка редиректа после логина

Вывод

Проверка авторизации при навигации реализуется через route-guards, чаще всего с помощью глобального beforeEach, что обеспечивает контроль доступа на уровне маршрутизации.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • React Router

    React Router

Ключевые слова

#authentication

#authorization

Подпишись на React Developer в телеграм