没有合适的资源?快使用搜索试试~ 我知道了~
前端Vue 路由权限控制.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 100 浏览量
2023-02-22
20:58:09
上传
评论
收藏 1.43MB PDF 举报
温馨提示
.【前端】Vue 路由权限控制.pdf
资源推荐
资源详情
资源评论





























Vue 路由权限控制
Vue 路由权限控制
当我们在做后台管理系统的时候,都会涉及到系统左侧的菜单树如何动态
显 示 的 问 题 。 目 前 基 本 上 都 是 RBAC 的 解 决 方 案 , 即 Role-Based
Access Control ,权限与角色相关联,用户通过成为适当角色的成员而
得到这些角色的权限。这就极大地简化了权限的管理。
vue 有很多优秀的后台管理系统模板,这些开源项目都提供了 RBAC 权限
控制的思路,但是在实际项目中,写死角色的方式可能并不适合。
看了网上蛮多的解决方案,个人感觉都有弊端,好多都是前端先把完整的
路由表注册到项目中,然后通过后台返回树过滤显示的方案,这样的做法
其实只是隐藏了左侧菜单,但是路由还是已经注册进去了,用户猜到访问
路径还是可以轻易进入页面,没有真正的做到动态路由加载
以下是我设计的解决方案, -。-
先看一下已经完成的系统结构,便于理解,用户绑定角色 (一对多 ),角色
绑定菜单 (一对多 )
用户菜单

选择角色
角色菜单

选择菜单,由于本项目是多系统,所以会有 ADMIN 和 HMI 两个子系
统,后面再来解释
资源管理 (我这里没有叫做菜单管理,因为会涉及到各个子系统我称作模
块,模块下面有菜单,菜单下面有按钮 )

好了,看完几张图大家估计也明白了这就是典型的 RBAC 。内部具体怎么
运作的呢
要实现动态添加路由,即只有有权限的路由才会注册到 Vue 实例中,核
心是 vue-router 的 addRoutes 和导航钩子 beforeEach 两个方法

大体思路为,在 beforeEach 方法中 (即每次路由跳转之前做判断 ),如果
已经加载了路由表,则把路由表注册到实例中,如果没有,则从后端拉取
路由表注册到实例中。那为什么不在登录的时候加载一次就可以了呢?这
是因为如果只是登录的时候加载一次,网页刷新的时候注册的路由表会丢
失,所以我们统一在 beforeEach 这个钩子中去实现
// permission.js,此文件在 main.js 中直接导入即可,这边的思路是仿照的 element-admin
import router from './router'
import store from './store'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import Cookies from 'js-cookie'
import screenfull from 'screenfull'
剩余22页未读,继续阅读
资源评论


春哥111
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络时代消费者行为研究报告样本.doc
- 单片机C语言编程常用语句.ppt
- 青岛奥博软件公司营销手册模板.doc
- 中国通信有限公司绩效考核办法模板.doc
- 互联网营销师知识竞赛题库附答案(精选147题)(1).docx
- 浪潮中小企业服务器虚拟化解决专业方案.doc
- 软件运维工程师的主要职责描述(1).doc
- 5G+工业互联网产业政策分析(1).docx
- 网络设备大客户销售技巧-文档资料.ppt
- 全国中小学生学籍信息管理系统首次数据采集指标省公共课一等奖全国赛课获奖课件.pptx
- 抢答器PLC控制综合系统程序设计.doc
- 计算机操作系统发展历史.ppt
- 网络技术基础(超详细)PPT学习课件.ppt
- 基于flash的网页设计本科论文(1).doc
- 程序设计基础课程设计报告(1).doc
- 电子商务物流管理概述专业知识讲座(1).pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
