vue后台管理系统的路由守卫以及角色管理权限的限定

本文介绍了Vue路由守卫的使用,如何像网络拦截器一样监听并控制路由跳转。核心在于`router.beforeEach`函数,根据`to`和`from`判断是否允许跳转。同时讲解了基于角色的权限设定,如超级管理员和普通管理员的路由动态添加,并通过Vuex进行状态管理。在登录时,根据后台返回的角色数据动态加载相应权限的路由模块。
摘要由CSDN通过智能技术生成

vue的路由守卫

像网络拦截器一样,当我们的请求发送一次就去拦截器中进行一次拦截,当符合一定条件允许这次请求的发送a.同理我们的vue路由也是如此监听我们的vue路由的更改,当满足我们的条件的时候我们允许此次的路由跳转,不满足的话将他替换掉

核心的函数是

router.beforEach((to,from,next)=>{})
to表示的我们将想要跳转的路由
from表示的是我们当前的路由
next表示的是允许进行跳转 但是当我们next("/login")表示的是跳转到login
使用代码:

//路由守卫
let whiteList=["login"]
router.beforeEach((to,from,next)=>{
    let token = store.state.token
    if(token){
        if(to.name=="login"){
            next("/home")
        }else{
            next()
        }
    }else{
        if(whiteList.includes(to.name)){
            next()
        }else{
            next("/login")
        }
    }
})

角色管理权限的设定

1.我们导出router路由模块是基本登录模块
2.然后配置好我们超级管理员路由模块和普通管理员模块
3.在我们登录页面中导入我们在router导出的普通管理员模块和超级管理员模块
4.然后通过我们对后台数据的中的角色权限进行设定

一、超级管理员

(1)当你是超级管理员模块的时候,我们通过使用router.addRoutes("超级管理员路由模块")
(2).因为我们要跨组件渲染数据所以需要使用vuex,然后通过this.$store.commit(“方法”.“超级管理员路由模块”)

二 、普通管理员模块

(1)当你是普通管理员的时候,然后同上的方法router.addRoutes("普通管理员路由模块")
(2)同上,因为需要跨组件通信所以我们需要使用vuex来保存数据

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值