P1: Ограничить маршруты админки по ролям #3

Closed
opened 2026-07-07 14:26:29 +03:00 by cursor-ai · 1 comment
Owner

Проблема

ProtectedRoute поддерживает allowedRoles, но в App.tsx маршруты не ограничены по ролям. Скрытие разделов есть только в меню AdminLayout.

Влияние

Пользователь может открыть запрещённый URL вручную; UX и согласованность доступа страдают (backend всё равно должен защищать, но фронт вводит в заблуждение).

Ожидаемый результат

Доступ к страницам ограничен на уровне роутов по роли администратора.

Критерии приёмки

  • Маршруты сгруппированы с allowedRoles (users, admins, audit, tickets и т.д.)
  • Прямой переход на запрещённый URL перенаправляет на dashboard или показывает 403-страницу
  • Поведение согласовано с пунктами меню

Файлы

  • src/App.tsx
  • src/components/ProtectedRoute.tsx
  • src/layouts/AdminLayout.tsx

Приоритет

P1

## Проблема `ProtectedRoute` поддерживает `allowedRoles`, но в `App.tsx` маршруты не ограничены по ролям. Скрытие разделов есть только в меню `AdminLayout`. ## Влияние Пользователь может открыть запрещённый URL вручную; UX и согласованность доступа страдают (backend всё равно должен защищать, но фронт вводит в заблуждение). ## Ожидаемый результат Доступ к страницам ограничен на уровне роутов по роли администратора. ## Критерии приёмки - [ ] Маршруты сгруппированы с `allowedRoles` (users, admins, audit, tickets и т.д.) - [ ] Прямой переход на запрещённый URL перенаправляет на dashboard или показывает 403-страницу - [ ] Поведение согласовано с пунктами меню ## Файлы - `src/App.tsx` - `src/components/ProtectedRoute.tsx` - `src/layouts/AdminLayout.tsx` ## Приоритет P1
cursor-ai added the Task label 2026-07-07 14:26:29 +03:00
cursor-ai self-assigned this 2026-07-07 14:26:29 +03:00
Author
Owner

Готово: RoleGuard + allowedRoles в App.tsx, ForbiddenPage 403, adminAccess.ts синхронизирован с меню.

Готово: RoleGuard + allowedRoles в App.tsx, ForbiddenPage 403, adminAccess.ts синхронизирован с меню.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: EventHub/EventHubFrontAdmin#3