Как перенаправить на какой-нибудь другой маршрут после успешной аутентификации в реакции-админа - PullRequest
0 голосов
/ 28 августа 2018

Я искал решение для перенаправления на определенный URL-адрес после успешной аутентификации в реакции-администратора,

когда я вставляю http://localhost:1234/#/students/sdf2343afs32 в URL, если уже вошел в систему, я получаю страницу с информацией о пользователе, но если она не подписана, а после подписки вместо нее отображается домашняя страница

Ответы [ 2 ]

0 голосов
/ 29 января 2019

На основе https://stackoverflow.com/a/35715159/986160 с использованиемact-admin 2.6.2

Что сработало для меня, так это пользовательская панель инструментов (при условии, что это ваша целевая страница по умолчанию):

import React, { Component } from 'react';
import { Redirect } from 'react-router';
import Card from '@material-ui/core/Card';
import CardContent from '@material-ui/core/CardContent';
import CardHeader from '@material-ui/core/CardHeader';

export default class Dashboard extends Component {

    render() {
        if (localStorage.getItem("user_role") !== "special_role") {
            return <Card>
                <CardHeader title="Welcome to Dashboard" />
                <CardContent></CardContent>
            </Card>
        }
        else {
            return (<Redirect to="/route/to/redirect" />);
        }
    }
}
0 голосов
/ 28 августа 2018

Вы можете настроить URL перенаправления после входа в систему внутри authProvider, как описано в Проверка учетных данных во время навигации в документации:

// in authProvider.js
import { AUTH_CHECK } from 'react-admin';

export default (type, params) => {
    // ../
    if (type === AUTH_CHECK) {
        return isLogged
            ? Promise.resolve({ redirectTo: '/custom-url' })
            : Promise.reject({ redirectTo: '/no-access' });
    }
    // ...
};
...