如何根据用户对 react-admin 的权限以编程方式配置资源和 crud 操作



我正在使用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>
);

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

简而言之,Admin组件接受一个函数作为子函数(想想渲染道具(,该函数将在您的权限(从您的authProvider(调用。因此,假设您使用的是react-admin(而不是admin-on-rest(,并且当使用类型AUTH_GET_PERMISSIONS调用时,您的authProvider与当前用户一起解析:

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>
);

最新更新