admin管理员组

文章数量:1794759

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

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

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

我们约定了 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 }, ]

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

本文标签: 菜单权限项目UmiAccess