0
点赞
收藏
分享

微信扫一扫

Vue权限相关

就是耍帅 2022-01-17 阅读 123

权限控制 根据用户的权限数据决定功能哪些可以操作
常量路由:包含所有用户都能操作的路由,也就是不需要权限就能操作的路由(比如首页)
异步路由:根据用户返回的权限数据信息决定是 否注册这个路由(商品管理)
任意路由: 用户随意输入的非法路由, 都会转到404路由界面,必须放到最后注册

注意 :不是所有的路由都直接使用常量路由注册,否则所有用户都可以操作,没法实现路有权限操作

从总的异步路由中过滤出子路由

function filterAsyncRoutes(allAsyncRoutes, routeNames) {
  let asyncRoutes = allAsyncRoutes.filter(item => {
​    if (routeNames.indexOf(item.name) !== -1) {
​      // 过滤子路由
​      if (item.children && item.children.length > 0) {
​        item.children = filterAsyncRoutes(item.children, routeNames)
​      }
​      return true
​    }
  })
  return asyncRoutes
}

总结:路由菜单权限的控制分为: 全局路由导航守卫和动态添加路由

​ 全局路由导航守卫:获取用户的菜单权限数据信息是根据用户的菜单权限数据表信息,从所有的异步路由当中过滤出自己的异步路由
​ 路由器的动态添加路由:将用户的异步路由和任意路由,动态添加到路由器当中

举报

相关推荐

0 条评论