亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue項目實現簡單的權限控制管理功能

發布時間:2020-10-02 21:17:56 來源:腳本之家 閱讀:180 作者:coderAfei 欄目:web開發

在Vue項目中實現權限控制管理

對于一般稍大一些的后臺管理系統,往往有很多個人員需要使用,而不同的人員也對應了不同的權限系統,后端的權限校驗保障了系統的安全性,而前端的權限校驗則提供了優秀的交互體驗。

校驗方式

前端對用戶的權限信息進行校驗往往在兩個方面進行限制

  • 路由不可見
  • 元素不可見

通過以上兩個方式,來將用戶權限之外的內容隱藏掉。

路由不可見實現方法

在router.js中的meta字段中加入該路由的訪問權限列表

{
  path: 'edit',
  name: 'edit',
  meta: {
    title: '編輯賬戶',
    auths:['edit_account']
  },
  component: () => import('pathToComponent/component.vue'),
},

Vue.router中提供了導航守衛,我們這里使用 全局前置守衛 對路由跳轉進行權限校驗

router.beforeEach(to,from,next)

參數 to 是即將進入的路由對象,我們可以在對象中拿到之前在router.js中定義的 route 對象,并獲得 auths 字段

router.beforeEach((to,from,next)=>{
  const hasAuth = function(needAuths,haveAuths){   //判斷用戶是否擁有權限的function
    // implement 
  }
  const havaAuths = []; // 用戶擁有的權限列表
  if(!hasAuth(to.meta.auths,haveAuths)){
    //沒有權限重定位到其他頁面,往往是401頁面
    next({replace:true,name:'otherRouteName'})
  }
  //權限校驗通過,跳轉至對應路由
  next();
})

在有側邊欄的后臺管理中,還需要對側邊欄的路由導航進行隱藏,這里同樣是通過拿到 route.meta.auths 字段進行過濾。

元素不可見實現方法

因為某些頁面中會有一些特殊的接口調用或數據展示受到權限控制顯示。前端通過控制元素的展示來隱藏掉用戶不具有權限的元素,避免點擊了某一個button導致接口401報錯這樣不友好的交互體驗。

全局注冊一個directive, directive官網介紹 。

//acl.js
const aclDirective = {
  inserted:function(el,binding){ // 在被綁定的元素插入到dom中時
    const hasAuth = function(needAuths,haveAuths){ //判斷用戶是否擁有權限的function
      // implement 
    }
    const havaAuths = []; // 用戶擁有的權限列表
    if(!hasAuth(binding.value,haveAuths)){ //binding.value 可以獲得綁定指令時傳入的參數
      el.style = "display:none"; //修改元素的可見狀態
    }
  }
}
//main.js
Vue.directive('acl',aclDirective); //全局注冊指令

在需要控制顯示的組件上我們就可以通過 v-acl 進行權限控制

<button v-acl="['edit_access']">編輯賬戶</button>

總結

以上所述是小編給大家介紹的Vue項目實現簡單的權限控制管理功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林芝县| 莱州市| 玉龙| 姚安县| 房山区| 卓资县| 临汾市| 根河市| 阿瓦提县| 弥渡县| 荣成市| 南汇区| 河北区| 招远市| 疏附县| 惠来县| 芦山县| 时尚| 南平市| 于田县| 鄂伦春自治旗| 磐安县| 剑川县| 桃园市| 高邑县| 霍州市| 桦川县| 扎鲁特旗| 巫山县| 奉节县| 老河口市| 鄄城县| 长葛市| 宁德市| 根河市| 民勤县| 临澧县| 哈尔滨市| 隆林| 盈江县| 望奎县|