簡體   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