umi项目菜单权限管理(access)

编程知识 更新时间:2023-04-06 09:36:14

介是官方文档中给出的描述

我们约定了 src/access.js 为我们的权限定义文件,该文件需要默认导出一个方法,导出的方法会在项目初始化时被执行。该方法需要返回一个对象,对象的每一个值就对应定义了一条权限。如下所示:

export default function access(initialState) {
  const { jwt } = initialState || {};
  const { groups = [] } = jwt;  // 获取初始化数据的token解析来的用户信息组
  return {    // 返回的对象里面可以定义多个权限,也就是多个键值对
    isAdmin: groups.includes('MAX-ADMIN'),  // 若返回用户信息组里面包含MAX-ADMIN,则就是有权限查看
    isOwner: groups.includes('OWNER')
  };
}

其中 initialState 是通过初始化状态插件 @umijs/plugin-initial-state 提供的数据,你可以使用该数据来初始化你的用户权限。不清楚如何使用initialState的移步我的另一篇博客

定义好了权限之后,可以在路由文件中使用:

// config/route.ts
export const routes =  [
  {
    path: '/pageA',
    component: 'PageA',
    access: 'isAdmin', // 权限定义返回值的某个 key
  },
  {
    path: '/pageB',
    component: 'PageB',
    access: 'isOwner', // 权限定义返回值的某个 key
  },
]

文档中还给出了其他用法,根据项目需求使用
就酱~

更多推荐

umi项目菜单权限管理(access)

本文发布于:2023-04-06 09:36:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/be46d47188ce18a7eaecbfe992918d36.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜单   权限   项目   umi   access

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 48844文章数
  • 14阅读数
  • 0评论数