Как сделать массив ролей по умолчанию динамическим в системе авторизации ролей Fuse React?Javascript

Форум по Javascript
Ответить
Гость
 Как сделать массив ролей по умолчанию динамическим в системе авторизации ролей Fuse React?

Сообщение Гость »


В нашем проекте мы используем шаблон Fuse React. В этом шаблоне маршруты генерируются из файлов конфигурации отдельных маршрутов. Когда происходит генерация, в каждый маршрут встраивается массив ролей по умолчанию. Это означает, что если маршрут /dashboard имеет массив ролей, например ['admin','staff'], и если роль пользователя — «пользователь», то этому пользователю не предоставляется доступ к /dashboard. Генерация маршрута происходит при первой загрузке приложения.

здесь используются сгенерированные маршруты. он импортирован из файла конфигурации ниже.

console.log('routes: ', маршруты); const App = () => { возвращаться ( ); }; экспортировать приложение по умолчанию; И это основной файл конфигурации, в который для всех маршрутов встроено свойство аутентификации.

const defaultAuth = ['суперадмин', 'админ', 'персонал', 'пользователь']; константные маршруты = [ ...FuseUtils.generateRoutesFromConfigs(routeConfigs, defaultAuth), //Этот метод встраивает { путь: '/', точно: правда, авторизация: '', компонент: () => }, { путь: '/панель мониторинга', точно: правда, авторизация: '', компонент: () => }, { компонент: () => } ]; экспортировать маршруты по умолчанию; Проблема: когда пользователь входит в систему, я получаю идентификатор из токена. Затем, используя этот идентификатор, я получаю массивы, которые показывают мне, какие маршруты предоставили доступ к каким ролям. Проблема в том, что эти маршруты генерируются до входа пользователя в систему, поэтому я не могу получить идентификатор. Мне нужно получить логин пользователя перед созданием маршрута и использовать его/ее идентификатор, чтобы получить массив ролей и сгенерировать маршруты на основе этого массива. Есть идеи, как этого добиться?

Что я пробовал: я пытался переместить AppContext.Provider на более низкие уровни, и это, конечно, не сработало. Я ожидал сгенерировать маршруты после авторизации, но поскольку компонент входа не сгенерировался, он вообще не открылся.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»