Вопрос проверяет умение защищать маршруты и управлять доступом пользователей в SPA.
Проверка авторизации обычно реализуется через глобальный beforeEach guard. В нём проверяется наличие токена или состояния авторизации. При отсутствии доступа выполняется редирект на страницу логина. Такой подход централизует логику безопасности. Это стандартное решение во Vue-приложениях.
Контроль доступа к маршрутам — одна из самых частых задач при использовании Vue Router.
Наиболее распространённый способ — глобальный guard.
router.beforeEach((to, from, next) => {
const isAuth = store.state.isAuthenticated;
if (to.meta.requiresAuth && !isAuth) {
next('/login');
} else {
next();
}
});
Маршруты помечаются флагами доступа.
{
path: '/profile',
component: Profile,
meta: { requiresAuth: true }
}
Централизованная логика
Простота поддержки
Лёгкое масштабирование
Проверка прав ролей
Обновление токена
Обработка редиректа после логина
Проверка авторизации при навигации реализуется через route-guards, чаще всего с помощью глобального beforeEach, что обеспечивает контроль доступа на уровне маршрутизации.