Vue简单权限管理(思路)

权限控制分为两大部分

1、接口访问的权限控制
2、页面的权限控制

  • 菜单中的页面是否能被访问 (页面级访问权限)
  • 页面中的按钮(增、删、改)的权限控制是否显示 (数据级操作权限)

页面级访问权限

目前只学习到页面级访问权限

        思路

                在用户登录之后,通过请求后台查找该用户的权限信息,然后返回到前端权限列表
        前端拿到权限列表之后,动态配置路由,再生成出对应的菜单列表。

                用户的权限是通过前端来进行配置的,那么就需要一个权限管理模块去进行用户的权限配置。权限管理就会有以下几个子管理模块:

1、用户管理  --》 分配角色
2、角色管理  --》 设置角色
3、权限管理  --》向不同角色分配不同权限(模块)
4、模块管理  --》模块名,路由path,路由name,引入组件地址componentPath,是否在菜单显示isShow,父id 层级关系 

                前台权限配置模块就大致是这样。

        权限实现 

                根据分配的模块,后台返回的权限列表(数组形式,对象数据,树状数据,根据层级关系,菜单信息套子菜单信息),然后,用vuex和sessionStorage存起来,再根据存起来的模块数据动态添加路由,以及动态生成菜单。

                动态路由:

将权限数组里的数据解析,重新组成对象:

{
    path: item.path,
    name: item.name,
	component: resolve => require(['@/views/' + item.componentPath + ''], resolve)
}

 再依次存进一个新数组,这个数组就是路由数组

最后使用vue提供的一个方法router.addRoute()将这个路由数组里面的路由依次添加

                渲染菜单:

 菜单也是用到了element-ui的菜单。主要就是用v-for循环模块数组,用v-if判断是否有子菜单和是否在菜单显示。

总结 

        最后,这只是一个大致的思路,后面会具体展开写一篇文章

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值