显示没有任何资源的dashboad



如果用户没有任何权限显示react admin的资源,他将无法登录,并显示以下消息:

React-admin is properly configured.
Now you can add a first <Resource> as child of <Admin>

我们如何在没有资源的情况下显示登录页面和仪表板?

const App = ({ classes }) => (
<React.Fragment>
<Admin
locale="fr"
i18nProvider={i18nProvider}
customReducers={{ reducer, theme: themeReducer }}
customRoutes={customRoutes}
appLayout={MyLayout}
authProvider={authProvider}
dashboard={Dashboard}
loginPage={MyLoginForm}
dataProvider={dataProvider}
>
{permissions => [
hasRight(permissions, 'resource') ?
<Resource name="Myresource"
list={MyresourceList}
show={hasRight(permissions, 'show') ? MyresourceShow : null}
create={hasRight(permissions, 'create') ? MyresourceCreate : null}
edit={hasRight(permissions, 'edit') ? MyresourceEdit : null}
/>
: null,
]}
</Admin>
</React.Fragment>
)

这个消息肯定只能用于调试。我在React Admin上打开了一个问题:https://github.com/marmelab/react-admin/issues/2749

同时,您可以在呈现Admin组件之前复制在authProvider中完成的检查。

const App = () => {
if (userHasNotAccess) {
return <ErrorPage />;
}
return (
<Admin {...props}>
{/* ... */}
</Admin>
);
};

最新更新