This commit is contained in:
Professional 2025-05-25 23:45:23 +07:00
parent 417b243269
commit 33e5af4076

View File

@ -126,12 +126,24 @@ router.beforeEach(async (to, from, next) => {
await fetchUser();
console.log('[ROUTER GUARD] Данные пользователя загружены:', user.value);
console.log('[ROUTER GUARD] Пользователь является администратором:', user.value?.isAdmin ? 'Да' : 'Нет');
// Переадресация администратора сразу после загрузки данных
if (user.value?.isAdmin && !to.path.startsWith('/admin')) {
console.log('[ROUTER GUARD] Пользователь - администратор, перенаправляем на панель администратора');
return next({ name: 'AdminDashboard' });
}
} catch (error) {
console.error('[ROUTER GUARD] Ошибка при загрузке данных пользователя:', error);
}
}
// Проверка администраторских прав и переадресация для уже аутентифицированных пользователей
if (isAuthenticated.value && user.value?.isAdmin && !to.path.startsWith('/admin') && to.name !== 'AdminDashboard') {
console.log('[ROUTER GUARD] Админ пытается зайти на не-админскую страницу, перенаправляем на админ-панель');
return next({ name: 'AdminDashboard' });
}
// Проверка прав администратора
// Проверка прав администратора для доступа к админ-маршрутам
if (to.meta.requiresAdmin && (!user.value || !user.value.isAdmin)) {
console.log(`[ROUTER GUARD] Доступ к ${to.path} запрещен. Требуются права администратора.`);
console.log('[ROUTER GUARD] Текущий пользователь:', user.value);