Как настроить ресурс и работу с программным обеспечением в соответствии с пользовательским разрешением по реакции-администратора - PullRequest
0 голосов
/ 23 мая 2018

Я использовал реактив-админ, это действительно быстро и продуктивно.Однако я хочу реализовать некоторые функции, такие как программный ресурс отображения и компонент операций crud, в соответствии с атрибутами зарегистрированного пользователя.

Что-то вроде этого.

const App = () => (
    <Admin restClient={jsonServerRestClient('http://jsonplaceholder.typicode.com')}>
        <Resource name="users" list={UserList} haveListPermission={user.hasUsersListPermission}/>
        <Resource name="tags" havePermission={user.hasTagPermission} />
    </Admin>
);

1 Ответ

0 голосов
/ 23 мая 2018

Это задокументировано здесь: https://marmelab.com/react-admin/Authorization.html

В двух словах, компонент Admin принимает функцию как дочернюю (например, render prop), которая будет вызываться с вашими разрешениями (из вашего authProvider),Итак, если вы используете react-admin (а не admin-on-rest) и ваш authProvider разрешается с текущим пользователем при вызове с типом AUTH_GET_PERMISSIONS:

const App = () => (
    <Admin authProvider={authProvider} dataProvider={jsonServerRestClient('http://jsonplaceholder.typicode.com')}>
        {user => (
            {user.hasUsersListPermission && <Resource name="users" list={UserList} />}
            {user.hasTagPermission && <Resource name="tags" />
        )}
    )}
    </Admin>
);
...