На каждом проекте нужно защищать роуты. Одни — только для авторизованных пользователей, другие — для администраторов, третьи — только для гостей. Пишете PrivateRoute. Потом хук с проверкой роли. Потом компонент HasAccess. Переходите на следующий проект — и пишете всё заново.
Логика всегда одна. Реализация всегда разная.