admin管理员组文章数量:1794759
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 }, ]文档中还给出了其他用法,根据项目需求使用 就酱~
版权声明:本文标题:umi项目菜单权限管理(access) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686966676a123342.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论