使用React,redux和react-redux-router登录验证:正确的方法是?

问题描述 投票:1回答:1

我对react,redux和react-redux-router有一个小问题。

这很简单,但是我不知道解决此问题的最佳方法是什么,让我们开始吧。

我正在使用一个具有登录屏幕的简单应用程序,并且某些页面具有对身份验证用户的重新调整的访问权限。

这是我的路由器:

   <Provider store={store}>
      <Router history={browserHistory}>
         <Route path={Config.baseUrl} component={App}>
            <Route path="login" component={Login} />
            <Route component={Administration}>
               <IndexRoute component={Statistics} />
               <Route path="page2" component={p2} />
            </Route>
         </Route>
      </Router>
   </Provider>

如果所有未登录的用户尝试访问<Route component={Administration}>任何页面,我都希望将它们重定向到登录页面(/ login)。

那么实现这一目标的最佳方法是什么? 我可以在每个子componentWillMount上使用componentWillMount ,但是我敢肯定这不是一个好主意:)。 我还尝试在Administration组件上找到一个钩子,但没有兴趣。

有什么建议吗?

子问题:我使用dispatch(routeActions.push())在页面之间导航。 这很好。 但是,如果目标网页(首次加载)不是'/',则抛出404。 我必须先去'/'。

javascript reactjs react-router
1个回答
1
投票

我只使用https://github.com/reactjs/react-router-redux并创建抽象组件AuthorizedViewComponent,它将检查用户状态并将所有未登录的用户重定向到/ login。

© www.soinside.com 2019 - 2024. All rights reserved.