繁体   English   中英

如何重新路由 React-Admin url

[英]How to re-route a React-Admin url

我正在尝试为我的 React-Admin 应用程序配置登录页面。 根据文档,我正在使用authProviderLoginPage组件,并且我的登录过程通常正常工作。

我的应用程序在端口 3000 上本地运行。但是当我从 go 到 http://localhost:3000 时,我会自动重定向到 Z80791B3AE7002CB88C246876D9FAA8FZ://3000/#8FZ8。

具体是什么推动了这种重定向? 我没有在应用程序本身中指定.../#/login url。

我使用的是旧版本的 React-Admin (2.9),据我所知使用的是 Redux。 重定向到.../#/login 是 Redux 的 function 吗? 还是 React-Admin 本身?

我的理解我可以使用 HashHistory 或 BrowserHistory 来防止 # - 但不确定这是否与 React-Admin 兼容。

我遇到的实际问题是,一旦我将应用程序部署到我的域,登录过程的行为与我在 localhost 上运行时的行为不同——这使得部署前测试变得困难。

即 http://localhost:3000 和 http://localhost:3000/#/login 都让我登录成功。 但是当我部署到我的域时, http://www.example.com允许我登录,而http://www.example.com/#/login不允许。

知道为什么会这样吗? 我可以将 React-Admin 应用程序配置为重新路由到http://www.example.com/#/login吗?

https://marmelab.com/react-admin/AuthProviderWriting.html

“如果 promise 被拒绝,react-admin 默认重定向到 /login 页面。您可以通过使用 redirectTo 属性拒绝 object 来覆盖在 checkAuth() 中重定向用户的位置:”

// in src/authProvider.js
export default {
    login: ({ username, password }) => { /* ... */ },
    checkError: (error) => { /* ... */ },
    checkAuth: () => localStorage.getItem('auth')
        ? Promise.resolve()
        : Promise.reject({ redirectTo: '/no-access' }),
    // ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM