微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

权限禁用在 app.js

如何解决权限禁用在 app.js

#5036 和 #4821 是同一个问题。

原来我想在没有身份验证的情况下在customroutes中创建路由,但是当我向带有身份验证的页面添加权限时,未经身份验证的页面自动重定向登录,而不会向我显示任何customroutes页面.

我尝试在权限之外返回一些资源并且它可以工作,所以错误就在那里,你必须返回一些没有必要权限的东西,否则它会立即重定向登录。知道如何在没有身份验证的情况下保留 customroutes 中的权限和路由方案(如我的代码中所示),并且我可以访问 customroutes 中声明的路由?

import React from 'react';
import { Admin,Resource } from 'react-admin';
import adapterDataProvider from './auth/adapterDataProvider';
import i18nProvider from './i18n/es';
import categories from './categories';
import sellers from './sellers';
import MyLayout from './globalTheme/MyLayout';
import MyTheme from './globalTheme/MyTheme';
import authProvider from "./auth/authProvider";
import MyLogin from './login/MyLogin';
import { Route } from 'react-router-dom';
import SignUpForm from './login/SignUpForm';
import ForgotPasswordForm from './login/ForgotPasswordForm';
import NotFound from './globalTheme/NotFound';
import ResetPasswordForm from './login/ResetPasswordForm';
import ShopIcon from '@material-ui/icons/Shop';
import ProductCreate from './products/create';
import ProductEdit from './products/edit';
import { ProductList } from './products/products';

const App = ( ) => (
        <div> 
            <Admin 
                title="Simple Comercio"
                theme={ MyTheme } 
                disableTelemetry
                catchAll={ NotFound }
                authProvider= { authProvider }
                i18nProvider={ i18nProvider }
                layout={ MyLayout } 
                dataProvider={ adapterDataProvider } 
                loginPage={ MyLogin } 
                customroutes={[
                    <Route
                        exact
                        path="/signup"
                        component={(props) => <SignUpForm {...props} />}
                        noLayout
                    />,<Route
                        exact
                        path="/forgot-password"
                        component={(props) => <ForgotPasswordForm {...props} />}
                        noLayout
                    />,<Route
                        exact
                        path="/reset-password"
                        component={(props) => <ResetPasswordForm {...props} />}
                        noLayout
                    />,]}
                >
                { permissions => [
                    permissions.hasOwnProperty('admin') ?
                        [<Resource 
                            name="product" 
                            options={{ label: 'Productos',permissions: permissions }} 
                            list={ ProductList } 
                            create={ ProductCreate } 
                            edit={ ProductEdit } 
                            icon={ ShopIcon }/>,<Resource {...categories} />,<Resource {...sellers} />]
                    :null,permissions.hasOwnProperty('seller') ?
                        [<Resource 
                            name="product" 
                            options={{ label: 'Productos',<Resource {...categories} />]
                    :null,]
                }
            </Admin>
        </div>
)
export default App;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。