1.管理员给账户分配角色

通过api接口的调用给用户添加不同的参数字段标识

2.管理员给角色分配权限

通过api接口的调用,将不同的权限参数绑定给相应的角色

3.路由权限

  1. 与权限有关的组件路由提取到一个新的js文件中,作为动态权限的路由文件

  2. 在请求用户信息的函数中,额外添加一个根据用户信息中的角色ID请求权限数据的API请求,并将两次请求的信息拼接在一起,形成一个既包括用户信息,又包括用户权限信息的新用户信息对象,并存储在vuex中

 async getUserInfo(store) {// 获取用户信息const res = await sysprofile()// 获取角色基本信息const res2 = await sysuser(res.data.userId)// 通过Object.assign()方法将两次请求的数据拼接成新的用户信息store.commit('addUserInfo', Object.assign({}, res.data, res2.data))// 根据合并后用户信息中的权限字段,在所有动态路由中筛选出符合条件的路由const ArrRouter = asyncRouter.filter(item => {return res.data.roles.menus.includes(item.name)})// 通过Router.addRoutes()方法,将筛选出来的路由添加到路由信息中,Router.addRoutes([...ArrRouter, { path: '*', redirect: '/404', hidden: true }])}// 由于Router.addRoutes()方法添加的路由只能在更新后被加载,所以需要将'/404'放在此处,避免初次进入时直接报404错误,并且在路由前置守卫中,需要做如下配置:// 在获取用户信息的地方添加next(to.fullPath)// 注意事项:router.matcher = newRouter.matcher 用于重置路由,一方面避免下次登录时会继承上个用户登录的路由权限,另一方面也是为了避免相同的路由节点被重复追加
```htmlawait Store.dispatch('user/getUserInfo')next(to.fullPath)

4.菜单权限

背景:addRoutes添加路由信息后,根据路由信息渲染出来的侧边栏中,仍然只有静态路由的选项,没有新动态添加的那几个权限菜单
原因:this.$router.options.routes无法动态获取路由,所以在addRoutes动态添加之后,this.$router.options.routes捕获到的仍只有添加前的静态路由
解决办法:将静态路由和动态路由拼接在一起,并存在vuex中,让渲染侧边栏的数组从vuex中获取动态的数据```html// constantRoutes是导入的静态路由,ArrRouter是筛选出来的动态路由store.commit('route/getRouterList', [...constantRoutes, ...ArrRouter], { root: true })

更改侧边栏的渲染数据来源

this.$store.state.route.routerList

5.按钮权限

根据用户信息中是否包含某个按钮权限字段来决定该按钮是否渲染,以此实现按钮权限

btnPermission: {inserted(dom, obj) {if (!store.state.user.userInfo.roles.points.includes(obj.value)) {dom.style.display = 'none'}},componentUpdate(dom, obj) {if (!store.state.user.userInfo.roles.points.includes(obj.value)) {dom.style.display = 'none'}}}```

后台管理系统权限管理实现步骤相关推荐

  1. VUE后台管理系统权限管理

    VUE后台管理系统权限管理(面试路由守卫) 1.背景 后台管理系统中总会遇到权限分配的问题:这也是一道vue的很经典的面试问题 2.解决思路 权限管理无非前端或者后台解决 先说一下前端解决的思路:在设 ...

  2. P22-Vue3后台管理系统-权限管理之路由守卫判断⽤户登录状态

    P22-Vue3后台管理系统-权限管理之路由守卫判断⽤户登录状态 文章目录 P22-Vue3后台管理系统-权限管理之路由守卫判断⽤户登录状态 1.概述 2.mock接口返回token 2.1.mock ...

  3. 后台管理系统权限管理详解

    权限管理 简述权限管理: 你可以在后台通过一个 tree 控件或者其它展现形式给每一个页面动态配置权限,之后将这份路由表存储到后端.当用户登录后得到roles,前端根据roles去向后端请求可访问的路 ...

  4. SSM框架实现后台管理系统权限管理(用户、菜单、角色)

    文章目录 后台管理系统开发 一.数据库表结构设计 1.菜单表menu 2.用户表user 3.角色表role 4.角色权限表role_menu 5.用户角色表user_role 二.项目准备 1.创建 ...

  5. 后台管理系统——权限管理

    1.做到权限管理就要让菜单动态生成 后端给我返回,当前登录账户的路径,就像["/home","/produce","/abc"]这样子返回, ...

  6. 后台管理系统 权限管理

    一.实现权限控制 - 基于RBAC权限控制理念 页面权限的思路 1.默认有静态路由,前端本地拥有完整的动态路由,服务器端返回该用户的页面权限标识,筛选出属于当前用户的动态路由,然后通过router.a ...

  7. 保险后台管理系统/订单管理/保单管理/客户管理/咨询管理/保险原型/保单详情/客户详情/权限管理/部门管理/账号管理/保险系统原型/汽车保险后台管理系统/角色管理/咨询详情/axure原型/需求文档

    保险后台管理系统/订单管理/保单管理/客户管理/咨询管理/保险原型/保单详情/客户详情/权限管理/部门管理/账号管理/保险系统原型/汽车保险后台管理系统/角色管理/咨询详情/axure原型/需求文档 ...

  8. Java-Web机试练习题一、后台管理系统——管理员管理模块

    题目:后台管理系统--管理员管理模块 一. 语言和环境 1. 实现语言:JAVA 语言. 2. 环境要求:MyEclipse/Eclipse + Tomcat + MySql. 3. 使用技术:Jsp ...

  9. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

最新文章

  1. Kafka学习 之 第一个例子(一)
  2. 自己寫的 Loading JS插件
  3. w ndows 高级索引,软媒原创:为Windows7建立索引,搜索文件更给力
  4. python语言原理_梯度下降算法的原理用Python语言实现,易于理解,python,更
  5. 作者:杨波,山东农业大学硕士生。
  6. Spark UI无法查看到slave节点
  7. 要让人人能AI的百度EasyDL,现在怎么样了?
  8. GeForce RTX 3090驱动下载
  9. vs2008 web创作组件安装失败
  10. 高淇python400集课堂笔记_魔力耳朵重磅推出1对1课堂“全班型”满足更多中国家庭教育需求...
  11. win10电脑显示未连接网络连接到服务器,win10系统未识别网络无法连接到internet的解决方法...
  12. 访客预约管理4大难点,帮你逐一破解
  13. python实现微信机器人 + 淘宝客自动领券(二)
  14. nextvlad:一个用于大规模视频分类的聚集帧级特征的有效神经网络 NeXtVLAD: An Efficient Neural Network toAggregate Frame-level Fea
  15. vue-router.esm.js?3423:2065 Uncaught (in promise) NavigationDuplicated: Avoided redundant navig错误解析
  16. python 散点图
  17. 勒索病毒场景模拟及原理
  18. 基于加速科技ST2500的TPS73625芯片测试(1)
  19. 计算机底层知识——二进制之间的加减乘除运算
  20. 剑侠情缘(网络版)---开发回顾(一篇老文章,看看也不错)

热门文章

  1. POJ 3532 基尔霍夫电流定律 + 高斯消元
  2. 笔记本c盘满了怎么清理呢?笔记本c盘清理会误删吗?
  3. 全志A33系统搭建编译及烧录
  4. [nrf51][nrf52][三方通讯] PC/手机 MCU BLE 通讯模板 仅供参考
  5. 美和易思:多效举措众人帮扶,全力以赴稳定就业
  6. r语言的runmed函数_R语言 函数参数的局部匹配验证(match.arg)
  7. requests模块proxies代理IP设置无效问题的解决
  8. [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇)...
  9. hiai和鸿蒙的关系,DevEco Studio使用指导专题( HiAI 第一期)-- 表格识别
  10. eval()替代方法