0

我正在使用 react-admin,它非常快速且高效。但是,我想根据登录用户的属性实现一些功能,如程序化显示资源和 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>
);
4

1 回答 1

1

这记录在这里:https ://marmelab.com/react-admin/Authorization.html

简而言之,该Admin组件接受一个函数作为子函数(想想 render prop),它将使用您的权限(从您的authProvider)调用。因此,假设您正在使用react-admin(而不是admin-on-rest)并且authProvider在使用 type 调用时与当前用户解析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>
);
于 2018-05-23T16:33:48.890 回答