【发布时间】:2017-02-14 10:46:06
【问题描述】:
我正在开发一个具有多个角色的网络应用程序。我有一个想法,我可以使用 React Router 通过 onEnter 触发器限制对某些路由的访问。
现在我想知道这是否是防止访问未经授权的页面的可靠方法。基本上,破解它有多容易?破解它不应该太容易,仅此而已。
请记住,所有正在加载的资源仍然存在服务器端身份验证,因此即使用户确实违反了 React 路由器,也不会返回未经授权的数据。
<Route path="/" component={App}>
<IndexRoute onEnter={authenticateUser} />
<Route path="login" component={LoginPage} />
<Route path={roles.ADMIN.homeRoute} component={Admin} onEnter={authenticateAdmin}>
<IndexRoute component={DashboardPage} />
</Route>
<Route path={roles.OPERATIONS.homeRoute} component={Operations} onEnter={authenticateOperations}>
<IndexRoute component={DashboardPage} />
</Route>
</Route>
目前角色路由仅填充仪表板,但想法是每个角色路由将包含多个子路由。使用此配置,我希望我可以在输入受限角色路由时验证用户角色的身份,然后能够在子路由之间导航,而无需在每次路由更改时进行身份验证。
【问题讨论】:
标签: authentication reactjs oauth react-router acl