news 2026/10/21 10:16:45

权限动态管理

作者头像

张小明

前端开发工程师

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/10/19 5:27:42

用AI写英文论文,又用降AIGC系统降AI率,这样做的意义在哪?

有同学直接用AI完成英文论文后发现论文AIGC率高,又用降AIGC系统把论文AI率降低,这么做的意义在哪? 自从AI问世以来,很多需要写论文的学生发现这类AI工具简直就是对于写作困难的人的大救星,利用AI工具可以完成各类论文…

作者头像 李华
网站建设 2026/10/15 1:12:34

凌晨两点还在调 Dify 环境?我后悔没早点知道 Sealos

那是一个普通的周三,产品经理下午三点甩来需求:"咱们搭个 AI 客服系统,用 Dify 对接 DeepSeek,下周演示。" 我心想:小场面。 然后时间快进到凌晨两点,我对着屏幕上第 47 次报错的 Docker Compose…

作者头像 李华
网站建设 2026/10/15 12:42:47

decode html

电子邮件 decode html 转义处理 支持 </& gt; 中间有空格的情况&#xff08;如 & lt;&#xff09;。这样即使内容被多次编码或含空格&#xff0c;也能正确恢复成 <img> 标签显示表情。 /*** 转义处理* 支持 </& gt; 中间有空格的情况&#xff08;如…

作者头像 李华
网站建设 2026/10/20 22:28:37

lvgl v8 label滚动模式

void lvgl_label_animation() {lv_obj_t* parent = lv_scr_act();lv_obj_t* lab = lv_label_create(

作者头像 李华
网站建设 2026/10/21 9:22:01

快速上手Ultimate#x2B;#x2B;的编译链接和配置

U简介 U&#xff08;全称 Ultimate&#xff09;是一个开源的 C 跨平台应用程序框架&#xff0c;以其高性能、低资源占用和高度集成的开发理念而闻名。它旨在提供“更少代码、更快执行”的开发体验。 主要特点&#xff1a; 高度集成 包含GUI、数据库、网络、XML、JSON等完整工…

作者头像 李华
网站建设 2026/10/17 19:33:49

Zigbee技术在智慧酒店中的应用设计与实现

Zigbee技术在智慧酒店中的应用设计与实现 一、应用背景与意义 在消费升级与数字化转型浪潮下&#xff0c;智慧酒店成为行业发展的核心方向&#xff0c;其核心需求是通过技术赋能提升宾客体验、优化运营效率、降低能耗成本。传统酒店控制系统多采用有线布线或单一无线技术&…

作者头像 李华