首页 > 解决方案 > 登录后 React admin 应该重定向到主页,但它会重定向到上一个 url

问题描述

实际上,我以超级管理员身份登录,可以访问特定资源,即高管,然后从该页面注销,然后使用无权访问高管页面的高管详细信息登录,因此它呈现未找到页面但我希望如果高管登录并且没有访问权限到特定的 url 然后它应该重定向到仪表板页面。

标签: react-admin

解决方案


您可以使用自定义 saga 来替换此路由:

logoutSaga.js:

import { put, takeEvery } from 'redux-saga/effects'
import { replace } from 'connected-react-router'
import { UNREGISTER_RESOURCE } from 'react-admin'

function* logoutMonitor(action) {
  try {
    if (action.payload === 'name_one_your_resources') {
      yield put(replace({pathname: '/login', state: {nextPathname: '/'}})) // Replacing the route for the next entry!
    }
  } catch (error) {
    console.warn('logoutSaga:', error)
  }
}

function* logoutSaga() {
  yield takeEvery([UNREGISTER_RESOURCE], logoutMonitor) // UNREGISTER_RESOURCE - one of the last Redux Action at logout
}

export default logoutSaga  

连接自定义 Saga:https ://marmelab.com/react-admin/Admin.html#customsagas


推荐阅读