中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

關(guān)于Vue的路由權(quán)限管理的示例代碼-創(chuàng)新互聯(lián)

前言

為福貢等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及福貢網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、福貢網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

曾經(jīng)在工作上對 vue 路由權(quán)限管理這方面有過研究,這幾天又看到了幾篇相關(guān)的文章,再加上昨天電面中又再一次提及到,就索性整理了一下自己的一些看法,希望對大家有幫助。

實現(xiàn)

大體上實現(xiàn)的思路很簡單,先上圖:

關(guān)于Vue的路由權(quán)限管理的示例代碼

無非是將路由配置按用戶類型分割為 用戶路由 和 基本路由,不同的用戶類型可能存在不同的 用戶路由,具體依賴實際業(yè)務(wù)。

  1. 用戶路由: 當(dāng)前用戶所特有的路由
  2. 基本路由:所有用戶均可以訪問的路由

實現(xiàn)控制的方式分兩種:

通過vue-router addRoutes 方法注入路由實現(xiàn)控制
通過vue-router beforeEach 鉤子限制路由跳轉(zhuǎn)

addRoutes 方式:

通過請求服務(wù)端獲取當(dāng)前用戶路由配置,編碼為 vue-router 所支持的基本格式(具體如何編碼取決于前后端協(xié)商好的數(shù)據(jù)格式),通過調(diào)用 this.$router.addRoutes 方法將編碼好的用戶路由注入到現(xiàn)有的 vue-router 實例中去,以實現(xiàn)用戶路由。

beforeEach 方式

通過請求服務(wù)端獲取當(dāng)前用戶路由配置,通過注冊 router.beforeEach 鉤子對路由的每次跳轉(zhuǎn)進(jìn)行管理,每次跳轉(zhuǎn)都進(jìn)行檢查,如果目標(biāo)路由不存再于 基本路由 和 當(dāng)前用戶的 用戶路由 中,取消跳轉(zhuǎn),轉(zhuǎn)為跳轉(zhuǎn)錯誤頁。

以上兩種方式均需要在 vue-router 中配置錯誤頁,以保證用戶感知權(quán)限不足。

兩種方式的原理其實都是一樣的,只不過 addRoutes 方式 通過注入路由配置告訴 vue-router :“當(dāng)前我們就只有這些路由,其它路由地址我們一概不認(rèn)”,而 beforeEach 則更多的是依賴我們手動去幫 vue-router 辨別什么頁面可以去,什么頁面不可以去。說白了也就是 自動 與 手動 的差別。說到這,估計大家都會覺得既然是 自動 的,那肯定是 addRoutes 最方便快捷了,還能簡化業(yè)務(wù)代碼,筆者一開始也是這么認(rèn)為的,但是!很多人都忽略了一點:

關(guān)于Vue的路由權(quán)限管理的示例代碼

addRoutes 方法僅僅是幫你注入新的路由,并沒有幫你剔除其它路由!

設(shè)想存在這么一種情況:用戶在自己電腦上登錄了管理員賬號,這個時候會向路由中注入管理員的路由,然后再退出登錄,保持頁面不刷新,改用普通用戶賬號進(jìn)行登錄,這個時候又會向路由中注入普通用戶的路由,那么,在路由中將存在兩種用戶類型的路由,即使用戶不感知,通過改變 url,普通用戶也可以訪問管理員的頁面!

對于這個問題,也有一個解決辦法:

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const createRouter = () => new Router({
 mode: 'history',
 routes: []
})
const router = createRouter()
export function resetRouter () {
 const newRouter = createRouter()
 router.matcher = newRouter.matcher
}
export default router

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:關(guān)于Vue的路由權(quán)限管理的示例代碼-創(chuàng)新互聯(lián)
文章分享:http://m.rwnh.cn/article40/pihho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站設(shè)計、網(wǎng)站制作自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
孝义市| 防城港市| 蓬莱市| 山西省| 花垣县| 务川| 肥西县| 广州市| 宁城县| 青冈县| 九江县| 崇阳县| 龙州县| 堆龙德庆县| 出国| 麦盖提县| 鄂托克前旗| 台中县| 盐津县| 凤冈县| 灵丘县| 杂多县| 乌拉特中旗| 丰城市| 武功县| 仁布县| 尤溪县| 清水河县| 蓝山县| 金沙县| 青神县| 湖州市| 贞丰县| 闽清县| 达日县| 叙永县| 南京市| 遵化市| 凤冈县| 罗源县| 丰宁|