溫馨提示×

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

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

Vue路由守衛(wèi)及頁(yè)面登錄權(quán)限控制如何設(shè)置

發(fā)布時(shí)間:2021-05-19 14:09:49 來(lái)源:億速云 閱讀:295 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)Vue路由守衛(wèi)及頁(yè)面登錄權(quán)限控制如何設(shè)置,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

①先在我們的登錄頁(yè)面存儲(chǔ)一個(gè)登錄數(shù)據(jù)

// 登錄成功時(shí)保存一個(gè)登錄狀態(tài);
sessionStorage.setItem("flag", 1);

② 添加路由守衛(wèi)

方法一: 直接在路由中添加

const router = new VueRouter({ ... })
 // 路由守衛(wèi) 
router.beforeEach((to, from, next) => {
 // ...
})

方法二:當(dāng)我們使用的是export default 方法時(shí)可以在main.js中添加 router.beforeEach((to, from, next) => { })方法。

const Recruit = resolve => require(['../components/common/main/index.vue'], resolve);
export default new Router({
 routes: [
 // 登錄 
 {
  path: path.login.path,
  name: path.login.path,
  component: Login,
 }, 
 .........

③ 在路由當(dāng)中添加自定義字段requireAuth,判斷當(dāng)前路由是否需要登錄。

下圖中1是設(shè)置多權(quán)限時(shí)的設(shè)置方法,下圖中2是單權(quán)限設(shè)置方法

Vue路由守衛(wèi)及頁(yè)面登錄權(quán)限控制如何設(shè)置

④ 在路由守衛(wèi)中添加我們自己的代碼邏輯。

// 路由守衛(wèi) 
router.beforeEach((to,from,next)=>{
 
 let flag = sessionStorage.getItem('flag ')

 if(to.meta.requireAuth == true){ // 需要登錄權(quán)限進(jìn)入的路由
  if(!flag){     // 獲取不到登錄信息
   next({
    path: '/login'
   })
  }else{      // 獲取到登錄信息,進(jìn)行下一步
   return next();
  }
 }else{       // 不需要登錄權(quán)限的路由直接進(jìn)行下一步
  return next();
 }
})

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測(cè)試性更強(qiáng)的代碼庫(kù),Vue允許可以將一個(gè)網(wǎng)頁(yè)分割成可復(fù)用的組件,每個(gè)組件都包含屬于自己的HTML、CSS、JavaScript,以用來(lái)渲染網(wǎng)頁(yè)中相應(yīng)的地方,所以越來(lái)越多的前端開發(fā)者使用vue。

關(guān)于“Vue路由守衛(wèi)及頁(yè)面登錄權(quán)限控制如何設(shè)置”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向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