ну я делал нечто похожее
я сделал в отдельном файле список роутов, как объектов с параметрами link, title, exact и accessRoles
и в accessRoles был массив ролей которым можно переходить по роуту, например: ["root","admin"]
пихнул роль в куки при авторизации,
а все роуты в один большой массив,
отдельно роуты для меню навигации в другой массив, тк мне не нужны все роуты в навигации
и перед тем как вернуть роуты или отрендерить меню навигации я как бы фильтрую массив по роли в куках и возвращаю только то что подходит
ну авось тебе поможет.