后台-权限管理

文章详细介绍了在Vue应用中进行权限管理的步骤,包括拆分静态和动态路由,根据用户角色筛选动态路由并添加至路由表,处理404问题,动态生成左侧菜单,以及使用Vuex存储和更新路由信息。此外,还提到了功能权限和自定义指令在按钮权限控制上的应用。
摘要由CSDN通过智能技术生成

什么是权限管理以及了解认识权限

Vue中的权限管理怎么做 - 颗就完了 - 博客园 (cnblogs.com)

1.拆分静态路由和动态路由

 

 2.根据用户权限添加动态路由

 

 a.获取对应的权限,权限在roles.menus里面

 b.筛选出动态路由

import { asyncRouter } from '@/router'

        const filterRoutes = asyncRouter.filter(item => {

          // return true/false

          return roles.menus.includes(item.name)

        }) // 筛选后的路由

 3.【1.2总结】

 4.动态添加路由

动态路由可以根据地址参数跳转但是一刷新就404(解决此bug:router添加动态路由之后, 需要再转发一下)用next(to.path)这个的目的是让路由拥有信息 router的已知缺陷并且还要把404页面放到所有页面之后

router.addRoutes(filterRoutes)//添加动态路由信息到路由表

 

 

5.根据菜单显示左侧菜单 

 

 a.在用户模块下(在Vuex用户模块添加路由信息state)

 b.动态路由结合静态路由

 c.筛路由之后提交mutation更新state

store.commit('user/setRoutes',filterRoutes)把筛选filterRoutes提交上去,因为有命令空间 namespaced: true所以user/setRoutes,这样只要获取用户资料,筛选路由添加Vuex里

 6.左侧菜单引用state用来渲染

    // mapGetters快捷访问

    ...mapGetters([

      'sidebar', 'routes'

    ]),

 7.退出登录重置路由

 

 

 8.功能权限-按钮权限标识

 8.1自定义指令应用功能权限

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值