溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證

發(fā)布時(shí)間:2022-04-28 10:47:05 來(lái)源:億速云 閱讀:452 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證”,在日常操作中,相信很多人在怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

步驟如下:

1、在登錄組件里,將登錄狀態(tài)寫入web Storage里。(一般寫入session Storage,會(huì)話關(guān)閉,存儲(chǔ)數(shù)據(jù)自動(dòng)刪除)

if('登錄成功') 
 {sessionStorage.setItem('accessToken' , 寫入登錄成功返回的登錄令牌或者自定義的判斷字符串) }

2、在需要登錄驗(yàn)證的路由元信息里加入登錄驗(yàn)證標(biāo)識(shí)requiresAuth(自定義)    
[html] view plain copy

routers: [ 
      { path: '/listInfo', 
         name: 'listInfo', 
         component: listInfo, 
         meta: { requiresAuth: true  
               } 
          } 
       ]

3、在全局鉤子函數(shù)beforeEach中驗(yàn)證頁(yè)面是否需要登錄            

router.beforeEach((to, from, next) => {  
    //to即將進(jìn)入的目標(biāo)路由對(duì)象,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' })} 
       //下一跳路由需要登錄驗(yàn)證,并且還未登錄,則路由定向到 登錄路由
       else { next() }} 
      //如果不需要登錄驗(yàn)證,或者已經(jīng)登錄成功,則直接放行
    }

 注意點(diǎn):beforeEach這個(gè)全局鉤子要放到全局組件的前面,放到全局組件的后面,Vue實(shí)例已經(jīng)加載完成。這時(shí)候直接在瀏覽器的地址欄輸入要去的路由,則不會(huì)定向到登錄路由。 

怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證

到此,關(guān)于“怎么用vue實(shí)現(xiàn)登錄路由驗(yàn)證”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI