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

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

zonemu7小时前技术文章1

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

跟着我一起来学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会带大家一起实现更加精细化的权限设计(权限组件、权限指令)

相关文章

中信泰富&明源云——搭建营销费用管理系统,实现3个在线化

3月23日,中信泰富地产与明源云合作的营销费用管理系统业务解决方案汇报在中信泰富大厦顺利结束。 (会议现场)这是自双方合作以来,继今年1月底项目启动会后的又一重要推进动作,本次汇报得到了双方领导的高度...

2024年10 大 Linux 桌面发行版推荐

年已过半,现在是探究 2024 年最流行的 Linux 发行版的最佳时机。Linux 是一个开源操作系统,构建在 Linux 内核上,并集成了 GNU shell 实用程序、桌面环境、应用程序、包管理...

Linux发行版Nobara更新39版本,号称“专为游戏玩家定制”

IT之家 12 月 27 日消息,Linux 发行版 Nobara 今天推出了 39 版本,主要改进了“Gamescope 合成器”,并更新了 OBS Studio、部分驱动程序及 Nautilus...

Garuda Linux:现代化、注重性能与美观的Linux发行版

什么是 Garuda Linux?Garuda Linux 是一个基于 Arch Linux 的现代化、注重性能与美观的桌面操作系统。它面向对性能有较高要求的用户,尤其受到 Linux 爱好者、游戏玩...

Vue3开发极简入门(14):组件间通信之props、ref&defineExpose

组件间的关系可以分为:父子关系。以前文的代码为例,最典型的就是App.vue与Car.vue这种,APP是父,Car是子。祖孙关系。如果Car再引入一个子组件,这个子组件与App就是祖孙关系。其他。比...

Vue3开发极简入门(15.1):emits补完-结合v-model

之前代码是通过按钮触发emit,如果希望输入框里的内容在输入之后也能同步到父组件,就可以结合v-model的update事件来操作,具体如下。Son2.vue:<template>...