我想通过根据用户的登录凭据修改URL来限制某些用户将其路由到页面“ x”。因此,我目前能够识别这些用户,但只想限制他们对页面“ x”的访问。另外,如果他们尝试输入任何其他参数,则必须将其重定向到当前页面。
示例:
实际网址
null
修改的URL(受限制的)
www.stackoverflow.com
用户必须重定向到
www.stackoverflow.com/x/
。
我正在使用React-Router 4 我应该怎么做?
答案 0 :(得分:0)
只需将另一条路线推入您的路由器历史记录:
假设endponint可能包含一个可供某些用户访问的视图,而另一些用户则基于ACL进行重定向的示例:
在路由器中(我通常在其中放置ACL条件):
<Route exact path="/myRoute" render={(props) => <MyComponent {...props} mustRedirect={this.myBoolCondition()} />} />
在目标MyComponent中:
componentWillMount() {
if (this.props.mustRedirect) {
this.props.history.push('/');
}
}