【发布时间】:2019-10-13 14:33:27
【问题描述】:
我在我的项目中介绍了通过 spring security 和 jwt auth 登录/注销。目前我想防止未经授权的用户进入像 /admin 这样的路由。我是否应该在拨打 history.push("/admin") 之前拨打电话并检查响应以确定用户是否应该看到它?
如何防止访问路由?我不是说要调用 api...
问候
【问题讨论】:
标签: spring reactjs spring-security jwt
我在我的项目中介绍了通过 spring security 和 jwt auth 登录/注销。目前我想防止未经授权的用户进入像 /admin 这样的路由。我是否应该在拨打 history.push("/admin") 之前拨打电话并检查响应以确定用户是否应该看到它?
如何防止访问路由?我不是说要调用 api...
问候
【问题讨论】:
标签: spring reactjs spring-security jwt
如果您使用的是 redux,则将用户的登录状态存储为 react 状态或全局状态。
然后你可以在 react 中创建一个私有路由并检查用户角色
const PrivateRoute = (props)=>(
<Route {...props.routeProps} render={() => (
props.logged_in===true ? (
<div>{props.children}</div>
) : (
<Redirect to={{
pathname: '/',
state: { from: props.location }
}} /> )
)} />
)
你可以像这样使用这个组件
<PrivateRoute path = {"/admin/"} ><Dashboard /></PrivateRoute>
【讨论】: