新闻详情

新闻详情

首页 / 资讯中心 / 详情

Vue3 后台如何做权限管理?V3 Admin Vite 页面级 + 按钮级权限双维度方案完全指南

发布时间:2026/11/4 7:36:58来源:尧图网络
Vue3 后台如何做权限管理?V3 Admin Vite 页面级 + 按钮级权限双维度方案完全指南
Vue3 后台如何做权限管理V3 Admin Vite 页面级 按钮级权限双维度方案完全指南【免费下载链接】v3-admin-vite☀️ AI-friendly Vue3 admin template | Vue Admin | Vue Template | Vue3 Admin | Vue3 Template | Vue 后台 | Vue 模板 | Vue3 后台 | Vue3 模板项目地址: https://gitcode.com/un-pany/v3-admin-vite在 Vue3 后台管理系统中权限管理几乎是每个项目绕不开的核心需求。开源项目V3 Admin Vite是一个 AI-friendly 的 Vue3 后台管理模板内置了完整的页面级权限 按钮级权限双维度权限方案页面级通过路由动态加载控制谁能进这个菜单按钮级通过v-permission指令和checkPermission函数控制谁能点这个按钮。本文带你快速看懂这套权限管理方案的完整设计。一、为什么需要双维度权限管理很多新手做 Vue3 后台权限管理时只知道用户没权限就不显示页面却忽略了页面内的按钮级控制——比如普通用户能进订单页但不能看到删除按钮。V3 Admin Vite 的权限体系分为两层维度控制目标实现方式核心文件页面级权限菜单、路由、页面访问动态路由 路由守卫src/router/guard.ts按钮级权限按钮、标签页、操作项v-permission指令 /checkPermission函数src/plugins/permission-directive.ts两层共用同一套数据源登录后从后端获取用户的roles角色数组和permissions权限标识数组统一存放在 Pinia 的 user store 中见 src/pinia/stores/user.ts。二、页面级权限动态路由如何控制菜单访问1. 常驻路由与动态路由分离项目在 src/router/index.ts 中定义了常驻路由登录页、首页、403/404 等所有用户可见的路由在 src/router/index.ts 中定义了动态路由需要角色/权限才能访问的路由。动态路由通过在路由meta中声明roles或permissions来控制访问例如meta: { title: 页面级, roles: [admin], // 角色控制 permissions: [permission:page-level] // 权限标识控制 } 规则roles和permissions满足任意一个即可访问两者都不设置则不限制访问。2. 路由守卫登录 → 拉取权限 → 注册路由整个流程在 src/router/guard.ts 中完成核心步骤如下未登录无 Token 时直接重定向到登录页带redirect参数登录后可回到原页面已登录调用userStore.getInfo()从后端获取用户的角色和权限标识过滤路由通过 src/pinia/stores/permission.ts 中的递归函数按meta.roles/meta.permissions过滤出用户可访问的动态路由动态注册调用router.addRoute(route)把有权限的路由注入 Router——没权限的菜单根本不会出现在侧边栏。permissionStore.setRoutes({ roles, permissions }) // 生成可访问路由 permissionStore.addRoutes.forEach(route router.addRoute(route)) // 注册 若项目不需要按用户区分页面可以在 src/router/config.ts 中将dynamic设为false走全量路由模式。三、按钮级权限v-permission 指令 checkPermission 函数进入页面后更细粒度的控制交给两个开箱即用的工具1. v-permission 指令一行隐藏无权限按钮指令实现在 src/plugins/permission-directive.ts原理很简单挂载时校验用户角色/权限不满足条件就直接从 DOM 中移除元素。el-button v-permission[admin]仅 admin 可见/el-button el-button v-permission[admin, editor]admin 或 editor 可见/el-button2. checkPermission 函数动态渲染场景的最佳拍档全局权限判断函数定义在 src/common/utils/permission.ts逻辑与指令一致返回boolean适合配合v-if使用el-tab-pane v-ifcheckPermission([admin]) labeladmin⚠️经验提示Element Plus 的el-tab-pane、el-table-column等动态渲染 DOM 的场景不适合用v-permission指令在mounted时才执行此时应使用v-if checkPermission替代。这一官方建议在演示页 src/pages/demo/permission/button-level.vue 中有明确说明。四、快速上手切换用户验证权限效果项目内置了权限演示页面可以零成本体验完整效果页面级演示src/pages/demo/permission/page-level.vue按钮级演示src/pages/demo/permission/button-level.vue用户切换组件src/pages/demo/permission/components/SwitchUser.vue演示页顶部提供了editor/admin两个模拟用户切换器切换后可实时看到侧边栏菜单项的显隐editor 用户看不到页面级菜单页面内按钮、标签页的显隐不同角色看到的操作按钮不同。这就是验证权限方案是否生效的最快方式——页面级管进门按钮级管动手。五、权限管理方案小结 场景推荐方案说明控制菜单/页面访问动态路由 meta.roles/meta.permissions无权限路由不注册菜单天然隐藏控制静态按钮显隐v-permission指令一行搞定直接从 DOM 移除控制动态渲染组件显隐v-if checkPermission适配el-tab-pane等特殊场景获取用户角色/权限数据登录后调用接口存入 Pinia见 src/pinia/stores/user.tsV3 Admin Vite 的这套Vue3 后台权限管理方案用动态路由 自定义指令两条腿覆盖了页面级与按钮级两种典型需求结构清晰、代码量小非常适合作为后台模板的权限落地参考。直接参考 src/router/guard.ts 和 src/plugins/permission-directive.ts 两个文件你就能在自己的 Vue3 后台项目中快速复刻同一套权限体系。【免费下载链接】v3-admin-vite☀️ AI-friendly Vue3 admin template | Vue Admin | Vue Template | Vue3 Admin | Vue3 Template | Vue 后台 | Vue 模板 | Vue3 后台 | Vue3 模板项目地址: https://gitcode.com/un-pany/v3-admin-vite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/3 7:07:39

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/3 12:09:38

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/3 12:09:41

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉