2016-07-04 26 views
0

私は反応ルータを使用し、認証の実装について考えています。大半のリクエストを傍受し、ユーザーが許可されているかどうかをチェックし、そうでない場合はリダイレクトしたいと思います。React Router - ルート間で同じonEnter関数を適用します。

これを行う方法は、RouteコンポーネントにonEnterフックを使用することです。ほとんどすべてのルートにこのonEnter機能を追加するのではなく、この動作をすべてのルートに適用する簡単な方法がありますか?

答えて

1

プライベートルートのグループ間に個人用ルートを作成しました。

<Route component={Authorization} accessRoles={['admin', 'registered']}> ... This routes which need to authorization ... </Route>

私もチェック役割のためのコンポーネントの許可にaccessRolesを送ります。

+0

また、認可コンポーネントでは、ユーザーが承認されていない場合、どのフック/関数をリダイレクトするために実装しますか?あなたはrender()関数でそれを行いますか? – Ben

+0

私はcdm/cwrp 'checkAuth(props){ const {accessRoles} = props.route; if(!checkAuth(accessRoles、props.auth)){ history.pushState(null、 '/ signin?next =' + props.location.pathname); } } ' – inthedark122

関連する問題