news 2026/2/10 0:54:29

权限动态管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
权限动态管理

权限动态管理

一般后台权限动态管理基于RBAC基于角色的访问控制官方标准实现,先由后端定义角色和系统全量菜单,再通过角色授权为不同角色分配不同菜单权限。用户登录时,后端根据其角色返回对应的权限菜单。路由是组件的映射关系,分为常量路由和权限路由,初始化创建路由实例时始终以常量路由为基础,权限路由是支撑所有功能的全量路由,新增功能只需扩展这个全量权限路由即可。

接下来我们根据后端返回的权限菜单,对全量权限路由做减法筛选,只保留当前角色有权限的路由,再通过Vue Router实例的addRoute方法,把筛选后的动态权限路由添加进去,这样就实现了不同角色对应不同菜单的权限控制。

刷新页面报404,是因为刷新会重新加载JS文件,此前动态添加的路由会丢失。我们将后端返回的权限菜单码缓存到sessionStorage,刷新后数据不会丢失,且权限路由是前端文件本身也不会丢失。所以在路由入口文件中,我们判断若缓存的权限菜单存在,就重新执行路由筛选、addRoute动态添加的逻辑,这个处理方法统一放到Vuex的Action里,再配合全局路由守卫,用户已登录且动态路由重新添加完成后直接放行,跳转到对应菜单页面,以此解决刷新404问题,实现权限的刷新保持。

另外,路由处理逻辑要放在Vuex的Action里,并非因为有异步请求,而是调用addRoute修改了全局路由实例,这属于副作用操作;而Vuex的Mutation只能做纯同步的State数据修改,不允许有任何外部副作用,所以即便只是纯前端的比对筛选操作,也必须放到Action中。且这个Action是纯前端操作,不会出现失败的情况,就算不手动return Promise也可以,因为Vuex的Action本身会自动返回一个Promise实例,默认是成功状态;若后续有失败场景,再手动return新的Promise控制成败即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 17:31:23

企微自动化控制台:跨语言调用与多进程管理的技术架构

QiWe开放平台 个人名片 API驱动企微自动化,让开发更高效 核心能力:为开发者提供标准化接口、快速集成工具,助力产品高效拓展功能场景 官方站点:https://www.qiweapi.com 团队定位:专注企微API生态的技术服务团队 对接…

作者头像 李华
网站建设 2026/2/8 22:55:02

RK3566 上运行 YOLOv8 Detection:INT8 性能、精度与可行性判断

为什么YOLOv8不能直接在RK3566跑起来?RK3566 与 YOLOv8 放在一起时,真正的问题是什么在很多边缘 AI 项目中,RK3566 经常被当作一颗“性价比不错、顺带能跑点 AI”的平台来使用。它的定位并不激进:功耗可控、外设齐全、算力有限但不…

作者头像 李华
网站建设 2026/2/6 23:01:31

筑牢线上医疗人脸识别的安全根基

线上医疗的普及,让远程问诊、在线购药等服务更便捷,而身份真实性核验是保障诊疗安全的核心前提。身份三要素(姓名、证件号、手机号)实名认证与人脸识别技术的结合,为线上医疗身份认证提供了可靠解决方案。根据行业规范…

作者头像 李华
网站建设 2026/2/8 9:14:31

Spring AI 进阶:RAG 技术原理拆解与本地知识库检索落地

在 AI 应用开发中,大模型常面临 “知识过期”“不懂私有数据” 的痛点,而检索增强生成(RAG)技术正是解决这一问题的核心方案。RAG 能够将大模型与私有知识库结合,让生成的回答更准确、更具针对性。本文将深入拆解 RAG …

作者头像 李华