当前位置:首页 > 技术文章 > 正文内容

Vue实战篇|使用路由管理用户权限(动态路由)

zonemu2个月前 (07-12)技术文章13

权限控制是后台管理系统比较常见的需求,如果我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。

跟着我一起来学vue实战篇路由管理权限吧!

权限校验函数

  • getCurrentAuthority()函数用于获取当前用户权限,一般来源于后台数据
  • check()函数用于权限的校验匹配
  • isLogin()函数用于检验用户是否登录

路由配置元信息

  • 路由配置元信息meta:{ authority: ["admin"] }

路由守卫router.beforeEach中判断

  • 使用to.matched获取跳转路由的全部信息,包括父路由和子路由
  • 使用lodash中的findLast匹配离跳转路由配置权限的元信息
  • 引入auth.js中check()和isLogin()进行判断是否具有权限或是否已登录
  • 如果没有权限则给出提示信息后跳转到403页面,未登录则返回登录页面

运行结果

  • 当getCurrentAuthority()函数返回admin时,则菜单会显示所有元信息meta:{ authority: ["admin"] }的路由菜单;
  • 如返回值为user时,菜单会显示所有元信息meta:{ authority: ["user"] }的路由菜单

以上就是我们权限控制中路由管理的全部内容,关注我获取"实战篇"获取源码!

接下来CrabFort会带大家一起实现更加精细化的权限设计(权限组件、权限指令)

相关文章

java调用API操作GitLab(java调用zabbix api)

最近需要在一个WEB项目中集成GitLab,用到了GitLab的API操作,在网上找了很久都是说直接调用GitLab的Http接口,而且API官方只有javadoc没有其它说明文档,特别记录下,以备查...

傻瓜式DEVOPS实践手册——Gitlab部署

GitLab是一款开放源代码的DevOps平台,用于实现从项目规划、源代码管理、CI/CD到监控和安全性的全方位集成。GitLab主要用于版本控制、协同开发、持续集成/持续部署 (CI/CD)、自动化...

jenkins+gitlab 实现自动化部署(gitlab触发jenkins)

目录1、安装jdk,要记住安装路径2、安装maven,要记住安装路径3、安装git,要记住安装路径4、安装gitlab5、安装jenkins(centos7)创建安装目录下载通用war包启动和关闭Je...

高效使用 Vim 编辑器的 10 个技巧

在 Reverb,我们使用 MacVim 来标准化开发环境,使配对更容易,并提高效率。当我开始使用 Reverb 时,我以前从未使用过 Vim。我花了几个星期才开始感到舒服,但如果没有这样的提示,可能...

2个将HTML5打包成app的方法(h5打包成android)

越来越多的开发者热衷于使用html5+JavaScript开发移动Web App。不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数。那么,有什么办法,既可以使用H...

Web前端全套教程+视频包含JavaScript、Vue等

写在前面:web前端从入门到精通经典教程,老师精心讲,想从事编程或者数据分析行业的小伙伴点进来,只需你评论并关注私信留言“前端”。便可免费获取。WEB前端简介:WEB前端工程师,也叫Web前端开发工程...