首页 > 解决方案 > 我只希望管理员路由和用户限制

问题描述

我只希望管理员路由到 admindashboard,并且应该限制用户访问 url:localhost:3000/admindashboard。但是当用户还键入相同的 url 时,用户会移动到 url。我试过这样,但没有用。我是新手,请帮忙。代码如下:

if (isValid) {
      const isAuth = await loginRoute(login);
      const role = isAuth[1];
      if (isAuth[0]) {
        if (role === "user") {
          history.push("/myvehicles");
        }
        if (role === "admin") {
          history.push("/admindashboard");
        }
      }
    }

标签: reactjsroles

解决方案


您必须在路由组件内验证用户角色或创建一些通用验证机制。

export function Admindashboard(props) {
  if (props.role === "user") {
   history.push("/myvehicles");
  } else {
   render();
  }
}

推荐阅读