Как сделать массив ролей по умолчанию динамическим в системе авторизации ролей Fuse React? ⇐ Javascript
Как сделать массив ролей по умолчанию динамическим в системе авторизации ролей Fuse React?
В нашем проекте мы используем шаблон Fuse React. В этом шаблоне маршруты генерируются из файлов конфигурации отдельных маршрутов. Когда происходит генерация, в каждый маршрут встраивается массив ролей по умолчанию. Это означает, что если маршрут /dashboard имеет массив ролей, например ['admin','staff'], и если роль пользователя — «пользователь», то этому пользователю не предоставляется доступ к /dashboard. Генерация маршрута происходит при первой загрузке приложения.
здесь используются сгенерированные маршруты. он импортирован из файла конфигурации ниже.
console.log('routes: ', маршруты); const App = () => { возвращаться ( ); }; экспортировать приложение по умолчанию; И это основной файл конфигурации, в который для всех маршрутов встроено свойство аутентификации.
const defaultAuth = ['суперадмин', 'админ', 'персонал', 'пользователь']; константные маршруты = [ ...FuseUtils.generateRoutesFromConfigs(routeConfigs, defaultAuth), //Этот метод встраивает { путь: '/', точно: правда, авторизация: '', компонент: () => }, { путь: '/панель мониторинга', точно: правда, авторизация: '', компонент: () => }, { компонент: () => } ]; экспортировать маршруты по умолчанию; Проблема: когда пользователь входит в систему, я получаю идентификатор из токена. Затем, используя этот идентификатор, я получаю массивы, которые показывают мне, какие маршруты предоставили доступ к каким ролям. Проблема в том, что эти маршруты генерируются до входа пользователя в систему, поэтому я не могу получить идентификатор. Мне нужно получить логин пользователя перед созданием маршрута и использовать его/ее идентификатор, чтобы получить массив ролей и сгенерировать маршруты на основе этого массива. Есть идеи, как этого добиться?
Что я пробовал: я пытался переместить AppContext.Provider на более низкие уровни, и это, конечно, не сработало. Я ожидал сгенерировать маршруты после авторизации, но поскольку компонент входа не сгенерировался, он вообще не открылся.
В нашем проекте мы используем шаблон Fuse React. В этом шаблоне маршруты генерируются из файлов конфигурации отдельных маршрутов. Когда происходит генерация, в каждый маршрут встраивается массив ролей по умолчанию. Это означает, что если маршрут /dashboard имеет массив ролей, например ['admin','staff'], и если роль пользователя — «пользователь», то этому пользователю не предоставляется доступ к /dashboard. Генерация маршрута происходит при первой загрузке приложения.
здесь используются сгенерированные маршруты. он импортирован из файла конфигурации ниже.
console.log('routes: ', маршруты); const App = () => { возвращаться ( ); }; экспортировать приложение по умолчанию; И это основной файл конфигурации, в который для всех маршрутов встроено свойство аутентификации.
const defaultAuth = ['суперадмин', 'админ', 'персонал', 'пользователь']; константные маршруты = [ ...FuseUtils.generateRoutesFromConfigs(routeConfigs, defaultAuth), //Этот метод встраивает { путь: '/', точно: правда, авторизация: '', компонент: () => }, { путь: '/панель мониторинга', точно: правда, авторизация: '', компонент: () => }, { компонент: () => } ]; экспортировать маршруты по умолчанию; Проблема: когда пользователь входит в систему, я получаю идентификатор из токена. Затем, используя этот идентификатор, я получаю массивы, которые показывают мне, какие маршруты предоставили доступ к каким ролям. Проблема в том, что эти маршруты генерируются до входа пользователя в систему, поэтому я не могу получить идентификатор. Мне нужно получить логин пользователя перед созданием маршрута и использовать его/ее идентификатор, чтобы получить массив ролей и сгенерировать маршруты на основе этого массива. Есть идеи, как этого добиться?
Что я пробовал: я пытался переместить AppContext.Provider на более низкие уровни, и это, конечно, не сработало. Я ожидал сгенерировать маршруты после авторизации, но поскольку компонент входа не сгенерировался, он вообще не открылся.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как избежать тайм-аута обмена в адаптере RedHat Fuse, работающем с Apache Camel и CXF?
Anonymous » » в форуме JAVA - 1 Ответы
- 38 Просмотры
-
Последнее сообщение Alex
-
-
-
Как избежать тайм-аута обмена в адаптере RedHat Fuse, работающем с Apache Camel и CXF?
Anonymous » » в форуме JAVA - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
G++: фатальная ошибка: -fuse-linker-plugin, но liblto_plugin-0.dll не найден
Anonymous » » в форуме C++ - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-