国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue中實現(xiàn)權限控制的方法示例

2024-05-06 15:38:17
字體:
來源:轉載
供稿:網(wǎng)友

一、前言

在廣告機項目中,角色的權限管理是卡了挺久的一個難點。首先我們確定的權限控制分為兩大部分,其中根據(jù)粒的大小分的更細:

1、接口訪問的權限控制

2、頁面的權限控制

菜單中的頁面是否能被訪問 頁面中的按鈕(增、刪、改)的權限控制是否顯示

下面我們就看一看是如何實現(xiàn)這些個權限控制的。

二、接口訪問的權限控制

接口權限就是對用戶的校驗。正常來說,在用戶登錄時服務器需要給前臺返回一個Token,然后在以后前臺每次調用接口時都需要帶上這個Token,然后服務端獲取到這個Token后進行比對,如果通過則可以訪問。

現(xiàn)有的做法是在登錄成功的回調中將后臺返回的Token直接存儲到sessionStorag​e,然在請求時將Token取出放入headers中傳給后臺,代碼如下:

this.$http({     method: 'get',     url: 'test/query?id=20',     withCredentials: true,     headers: {      token: sessionStorage.getItem('token'),      name: sessionStorage.getItem('name')  //應后臺需求傳的用戶名     }    }).then(response => {     //請求成功后的操作    })

后來在一些文章中發(fā)現(xiàn)axios可以在攔截器中直接將Token塞入config.headers.Authorization中,作為全局傳入。下面是代碼部分:

//main.jsimport axios from 'axios'// 實例化Axios,并進行超時設置const service = axios.create({  timeout: 5000})// baseURL// axios.defaults.baseURL = 'https://api.github.com';// http request 攔截器// 每次請求都為http頭增加Authorization字段,其內容為tokenservice.interceptors.request.use(  config => {    if (store.state.user.token) {      config.headers.Authorization = `token ${store.state.user.token}`;    }    return config  },  err => {    return Promise.reject(err)  });export default service

三、頁面權限控制

在前面已經(jīng)說到,頁面權限控制又分為兩種:

1菜單中的頁面是否能被訪問 2頁面中的按鈕(增、刪、改)的權限控制是否顯示

這些權限一般是在固定頁面進行配置,保存后記錄到數(shù)據(jù)庫中。

按鈕權限暫且不提,頁面訪問權限在實現(xiàn)中又可以分為兩種方式:

1顯示所有菜單,當用戶訪問不在自己權限內的菜單時,提示權限不足 2只顯示當前用戶能訪問的權限內菜單,如果用戶通過URL進行強制訪問,則會直接進入404

既然展現(xiàn)出來后不能點,那算幾個意思,逗我玩兒呢?所謂眼不見為凈,綜合考慮后,肯定是方案二比較符合良好的用戶體驗。

好,我們現(xiàn)在梳理一下大致的頁面訪問權限的流程:

在這里插入圖片描述

在對流程梳理完成后我們開始進行詳細的編寫。

1、創(chuàng)建路由表

創(chuàng)建路由表實際上沒有什么難度,照著vue-router官方文檔給的示例直接寫就行了。但是因為有部分頁面是不需要訪問權限的,所以需要將登錄、404、維護等頁面寫到默認的路由中,而將其它的需要權限的頁面寫到一個變量或者一個文件中,這樣可以有效的減輕后續(xù)的維護壓力。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 潍坊市| 吐鲁番市| 孙吴县| 松原市| 德庆县| 衡南县| 明光市| 乐业县| 靖边县| 定结县| 平凉市| 孟连| 城步| 孟村| 津南区| 宝坻区| 南皮县| 麻栗坡县| 社旗县| 井冈山市| 成都市| 丰宁| 汝州市| 紫阳县| 鸡泽县| 沁源县| 三江| 平潭县| 沁阳市| 渝中区| 军事| 前郭尔| 茂名市| 富顺县| 开封县| 卢湾区| 焦作市| 鹤峰县| 祁门县| 固阳县| 凌源市|