成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

后臺管理系統如何利用Vue-Router做權限驗證管理

開發 項目管理
今天我們就來講一下在后臺的權限管理系統中,Vue-Router是如何配合實現的。

前沿

后臺管理系統中權限驗證是比較核心的一塊內容,每個登錄用戶都有對應的角色,每個角色都有對應的權限,比如普通用戶只有查看權限,管理員用戶有編輯權限,所以不同的用戶角色登錄進來后,看到的頁面菜單是不一樣的

今天我們就來講一下在后臺的權限管理系統中,Vue-Router是如何配合實現的

后臺管理系統

具體實現

其實要實現起來也比較簡單,主要是借助Vue-Router的兩個api

1、addRoutes

通過 router.addRoutes 動態掛載路由信息,用戶成功登錄后,由后臺返回當前用戶所具有的權限菜單

// 登錄成功后,后臺返回權限數據如下
const menuList= [
{
// 菜單名字
name: '文章管理',
// 是否是菜單,true是,false是頁面
isFolder: true,
// 圖標
icon: 'article',
// 是否在導航欄不顯示,false表示顯示
hidden: false,
// 路由url
url: '/article',
// 子菜單
menuList: [{
// 菜單名字
name: '文章編輯',
// 是否是菜單,true是,false是頁面
isFolder: false,
// 圖標
icon: 'edit',
// 是否在導航欄不顯示,false表示顯示
hidden: false,
// 路由url
url: '/article/edit',
// 子菜單
menuList: [],
}]
},
{
name: '用戶管理',
isFolder: false,
icon: 'user',
hidden: false,
url: '/user/manage',
menuList: [],
}
]

// 我們根據Vue-Router需要的數據
// 把上面后臺返回的數據做一次轉化
const routes= [{
// 路由路徑
path: '/article',
// 如果是菜單,那么引用通用的布局模板
component: () => import('@/views/layout.vue'),
meta: {
// 圖標
icon: 'article',
// 菜單名字
title: '文章管理',
// 是否在導航欄隱藏
hidden: false,
},
children: [{
// 這是頁面路由
path: '/article/edit',
name: 'article/edit',
// 具體的頁面組件
component: () => import('@/views/article/edit.vue'),
meta: {
// 圖標
icon: 'edit',
// 頁面名字
title: '文章編輯',
// 是否在導航欄隱藏
hidden: false,
},
}],
},
{
path: '/article/edit',
name: 'article/edit',
component: () => import('@/views/article/edit.vue'),
meta: {
icon: 'edit',
title: '文章編輯',
hidden: false,
},
},
]

// 最開始的路由配置是有一個登錄頁的
const initRoutes = [
{
path: '/login',
name: 'Login',
component: () => import('@/views/login'),
meta: {
icon: '',
title: '登錄',
hidden: true,
},
},
]

// 登錄成功后
// 再把動態生成的路由信息和登錄頁的路由拼接起來
// 生成最后的路由信息
router.addRoutes(initRoutes.concat(routes))

// 最后通過router.push(url)
// 跳轉到動態生成的第一個路由頁面

至于頁面內部的按鈕根據用戶角色顯示和隱藏,比如說普通用戶是看不到頁面的“編輯”按鈕

其實我們可以在用戶登錄成功后,讓后臺再把當前這個用戶的角色信息返回并存在Vuex中,比如返回['user']代表普通用戶,返回['manage']代表管理員,返回['user','mange']代表又有管理員的權限和又有普通用戶的權限,然后我們就可以在頁面中根據這個值判定是否顯示對應的按鈕

2、beforeEach

通過 router.beforeEach 這個導航守衛,控制沒有登錄的用戶,始終只能先去登錄頁登錄,如果是已經登錄過的,那么就直接進入對應頁面

// 這里可以放一些,不需要權限校驗的菜單
const NoAuthUrlList = [
'/500',
'/demo',
]
router.beforeEach((to, from, next) => {
if (NoAuthUrlList.includes(to.path)) {
// 不需要權限校驗的,直接進入頁面
next()
} else {
// 需要權限校驗的
if (!store.getters.token) {
// 沒有token代表沒有登錄過
// 直接去登錄頁
next('/login')
} else {
// 有token
// 直接進入登錄頁
next()
}
}
})

好了Vue-Router做權限驗證管理就講到這里

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-11-11 08:20:47

Vue 技巧 開發工具

2021-12-14 19:40:07

Node路由Vue

2025-01-07 08:00:00

2022-02-10 10:10:03

數據庫表權限表數據庫操作

2024-05-06 00:00:00

后臺管理系統

2022-02-02 21:29:39

路由模式Vue-Router

2023-07-31 11:43:45

視頻管理系VMS

2025-01-03 09:34:54

2025-04-09 09:29:57

2011-09-02 11:39:53

2010-04-09 17:35:22

2022-06-24 07:15:53

Vuehistory模式

2024-08-19 09:25:42

2025-05-19 08:10:00

PythonDashGo開源

2025-02-12 09:00:00

2023-12-14 08:13:56

2021-01-12 15:54:03

Vue開發管理系統

2010-04-14 14:30:28

Unix操作系統

2021-04-27 07:39:40

Vue后臺管理

2012-07-30 09:32:00

Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美三级 | 97天天干| 蜜桃精品视频在线 | 欧美伊人影院 | 亚洲一一在线 | 国产精品成人一区二区三区吃奶 | 久久久久久久久久久久久久av | 精品日韩一区 | 欧美8一10sex性hd | 日韩a| 亚洲人成网站777色婷婷 | 国产视频一区二区三区四区五区 | 成人在线视 | 国产免费播放视频 | 欧美精品一区二区三区在线播放 | 免费观看黄a一级视频 | 亚洲 欧美 日韩 在线 | 亚洲欧美一区二区三区国产精品 | 精品亚洲国产成av人片传媒 | 2021天天干夜夜爽 | 神马影院一区二区三区 | 97国产精品 | 欧美精品在线一区二区三区 | 婷婷色在线播放 | 在线观看免费高清av | 久在线视频播放免费视频 | 自拍视频国产 | 精品欧美| 国产福利在线视频 | 欧美一级片在线看 | 日本久久精品视频 | 精品国产精品国产偷麻豆 | 国产91综合 | 欧美一区日韩一区 | 欧美一级久久 | 亚洲综合精品 | 成人免费观看男女羞羞视频 | 91精品国产综合久久久久 | 中文字幕 视频一区 | 91在线观看免费 | www.4虎影院|