2016-07-04 6 views
0

반응 라우터를 사용하고 인증 구현에 대해 생각하고 있습니다. 대부분의 요청을 가로 채고 사용자가 권한이 있는지 확인하고 그렇지 않은 경우 리디렉션하고 싶습니다.리액터 라우터 - 동일한 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

관련 문제