权限模块

实现思路

  1. 在登录时通过后台得到一组数字字符串 例如:“0,1,2,3,4,5”数字越多说明权限越高。然后存入本地与vuex中
  2. 在一些页面中通过存入本地的信息判断是否有权限访问。
  3. 在路由拦截中,判断是否有权访问,如果没有访问权,就跳转页面到403页面
  • login中
		// 从后台得到登录者的position,有哪些权限
            let position = '0,1'
            // 存入本地与vuex中
            localStorage.setItem('login_role',position)
            this.thisPost(position)
  • 路由拦截中
	 // 定义授权的页面是否有权限进入
            if (to.meta && to.meta.role) {
                if (localStorage.getItem('login_role').includes(to.meta.role)) {
                    return next()
                } else {
                    return next('/403')
                }
            }
  • 导航栏组件中
data() {
    return {
      list:[
        {
          id:0,
          path:"/",
          icon:"home",
          name:"主控台"
        },{
          id:1,
          path:"/jiaoxue",
          icon:"appstore",
          name:"教学管理"
        },{
          id:2,
          path:"/user",
          icon:"mail",
          name:"用户管理"
        }
      ]
    };
  },
//  计算属性得到权限显示的导航栏,如果传入的是0,1就显示主控台与教学管理,用户管理不显示
  computed: {
    postList(){
      return this.list.filter(r=>localStorage.getItem("login_role").includes(r.id) )
    }
  },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值