Как сделать массив ролей по умолчанию динамическим в системе авторизации ролей 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 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Идентификатор устройства для файловых систем Fuse
    Anonymous » » в форуме Linux
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как избежать тайм-аута обмена в адаптере RedHat Fuse, работающем с Apache Camel и CXF?
    Anonymous » » в форуме JAVA
    1 Ответы
    38 Просмотры
    Последнее сообщение Alex
  • Как избежать тайм-аута обмена в адаптере RedHat Fuse, работающем с Apache Camel и CXF?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Jar не устанавливается из папки jboss Fuse/Deploy.
    Anonymous » » в форуме Linux
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • G++: фатальная ошибка: -fuse-linker-plugin, но liblto_plugin-0.dll не найден
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

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