這篇文章主要介紹“怎么用vue實現(xiàn)登錄路由驗證”,在日常操作中,相信很多人在怎么用vue實現(xiàn)登錄路由驗證問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用vue實現(xiàn)登錄路由驗證”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
“專業(yè)、務(wù)實、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)公司是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、軟件開發(fā)、設(shè)計服務(wù)業(yè)務(wù)。我們始終堅持以客戶需求為導(dǎo)向,結(jié)合用戶體驗與視覺傳達(dá),提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
步驟如下:
1、在登錄組件里,將登錄狀態(tài)寫入web Storage里。(一般寫入session Storage,會話關(guān)閉,存儲數(shù)據(jù)自動刪除)
if('登錄成功') {sessionStorage.setItem('accessToken' , 寫入登錄成功返回的登錄令牌或者自定義的判斷字符串) }
2、在需要登錄驗證的路由元信息里加入登錄驗證標(biāo)識requiresAuth(自定義)
[html] view plain copy
routers: [ { path: '/listInfo', name: 'listInfo', component: listInfo, meta: { requiresAuth: true } } ]
3、在全局鉤子函數(shù)beforeEach中驗證頁面是否需要登錄
router.beforeEach((to, from, next) => { //to即將進(jìn)入的目標(biāo)路由對象,from當(dāng)前導(dǎo)航正要離開的路由, next : 下一步執(zhí)行的函數(shù)鉤子 if(to.path === '/login') { next() } // 如果即將進(jìn)入登錄路由,則直接放行 else { //進(jìn)入的不是登錄路由 if(to.meta.requiresAuth && !sessionStorage.getItem('accessToken')) {next({ path: '/login' })} //下一跳路由需要登錄驗證,并且還未登錄,則路由定向到 登錄路由 else { next() }} //如果不需要登錄驗證,或者已經(jīng)登錄成功,則直接放行 }
注意點(diǎn):beforeEach這個全局鉤子要放到全局組件的前面,放到全局組件的后面,Vue實例已經(jīng)加載完成。這時候直接在瀏覽器的地址欄輸入要去的路由,則不會定向到登錄路由。
到此,關(guān)于“怎么用vue實現(xiàn)登錄路由驗證”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章題目:怎么用vue實現(xiàn)登錄路由驗證
本文來源:http://weahome.cn/article/ppicpj.html