新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/26 21:33:54来源:尧图网络
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

相关资讯

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

较早相关资讯

最新相关资讯

Qt+SQL试题库管理系统:自动组卷与数据库设计实战 2026/9/26 21:33:51

Qt+SQL试题库管理系统:自动组卷与数据库设计实战

简介:这份资源是一套基于Qt与SQL实现的试题库管理系统课程设计完整资料,面向计算机相关专业学生及需要完成数据库课程设计、C编程实训的学习者,帮助解决从需求分析到系统落地的全流程问题。压缩包共47个文件,约1.29MB,…

阅读更多 →
Claude Code模板实战:从提示词到工作流的完整搭建指南 2026/9/26 21:33:44

Claude Code模板实战:从提示词到工作流的完整搭建指南

如果你是一个每天要在终端里敲命令的开发者,你大概率已经听说过 Claude Code。但你可能没有想过,真正让 Claude Code 从“玩具”变成“生产力工具”的,不是模型本身,而是你丢给它的那套模板。claude-code-templates这个项目&#…

阅读更多 →
Codex AI 算法分析实战:用 TaoToken 统一 Key 搭建巴菲特式估值工作流 2026/9/26 21:33:44

Codex AI 算法分析实战:用 TaoToken 统一 Key 搭建巴菲特式估值工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GTA 6玩家装机指南:9700X与9070 XT组合实测 2026/9/26 21:33:37

GTA 6玩家装机指南:9700X与9070 XT组合实测

1. GTA 6的配置焦虑:先搞清楚我们要面对什么游戏 说真的,从那个预告片放出来之后,我周围玩游戏的同事群里就没消停过。大家半开玩笑半认真地在算自己的主机还能不能战,从1060到4070 Ti都有,一个个都在问“我这配置还能…

阅读更多 →
iOS安全区域适配全解:从H5到RN再到原生的底部遮挡问题实战指南 2026/9/26 21:33:37

iOS安全区域适配全解:从H5到RN再到原生的底部遮挡问题实战指南

1. 问题本质与真实场景还原iPhone X 是苹果在2017年推出的划时代机型,它首次取消了实体Home键,取而代之的是屏幕底部一条细长的白色横条——Home Indicator。这条横条不是装饰,而是系统级交互控件:上滑返回主屏幕、上滑并停顿呼出…

阅读更多 →
4小时用AI从0搭建AI漫剧生成平台:技术路线与实战记录 2026/9/26 21:33:37

4小时用AI从0搭建AI漫剧生成平台:技术路线与实战记录

4个小时,让AI帮我从0开发了一个AI漫剧生成平台。不是标题党,是真事。所谓AI漫剧,就是基于漫画分镜画面,配上台词、旁白、音效,生成一段带有运镜和动态效果的短视频,现在短视频平台上这种内容密度很高&#…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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