国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue權(quán)限管理——請求和響應(yīng)權(quán)限控制

這篇具有很好參考價(jià)值的文章主要介紹了vue權(quán)限管理——請求和響應(yīng)權(quán)限控制。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.請求頭中設(shè)置token

每次請求請求頭都攜帶token,沒有token或者token失效后端會返回錯(cuò)誤

axios.interceptors.request.use(configs => {
    let token = sessionStorage.getItem("token");
    if (token) {
        configs.headers.authorization = token;
    }
}

2.拒絕非權(quán)限請求

防止一些在瀏覽器上強(qiáng)制將按鈕改成可用(如將disabled改為true就可用),然后發(fā)起請求后發(fā)送后端

const actionMapping = {
    'get': 'view',
    'post': 'add',
    'put': 'edit',
    'delete': 'delete',
}
const whiteList = ['/login','/user/login','/user/me', '/', '/404']

// 對請求頭進(jìn)行處理(token)
axios.interceptors.request.use(configs => {
    let token = sessionStorage.getItem("token");
    if (token) {
        configs.headers.authorization = token;
    }

    // 拒絕非權(quán)限請求
    if (!whiteList.includes(configs.url)) {
        let metaRights = router.currentRoute.value.meta.rights;
        let action = actionMapping[configs.method];

        if (!metaRights.includes(action)) {
            ElMessage.error("沒有操作權(quán)限");
            return Promise.reject(new Error('沒有操作權(quán)限'))
        }
    }

    return configs;
});

3.響應(yīng)攔截

響應(yīng)控制:請求返回401,token無效或者后期,則需要跳轉(zhuǎn)到登錄界面文章來源地址http://www.zghlxwxcb.cn/news/detail-674521.html

// 處理返回?cái)?shù)據(jù)
axios.interceptors.response.use(response => {
    return response;
}, error => {
    let { status, data } = error.response;
    let { message, errorDetail } = error.response.data;
....
   if (status === 401 || status === 402 || status === 403) {
        // 沒有權(quán)限,需要重新登錄
        ElMessage.error("token失效或無權(quán)限,正跳轉(zhuǎn)登錄頁面......");
        sessionStorage.clear();
        return router.push("/login");
    }
....
}

到了這里,關(guān)于vue權(quán)限管理——請求和響應(yīng)權(quán)限控制的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Axios基本使用,為學(xué)習(xí)后續(xù)的Vue服務(wù)【發(fā)送請求+并發(fā)請求+前端攔截器】

    目錄 1、項(xiàng)目中引入Axios 2、使用Axios發(fā)送請求 2.1、例:發(fā)送GET請求 2.2、例:發(fā)送POST請求 3、axios并發(fā)請求 4、攔截器 注:個(gè)人學(xué)習(xí)筆記,因自己學(xué)過后端,所以有關(guān)后端的代碼,我在這里就不展示了~ 不了解后端的寶子,也不會耽誤學(xué)習(xí),因?yàn)楣纠飼袑懞玫慕涌谖臋n,直

    2024年02月02日
    瀏覽(56)
  • Springboot+vue跨域+登錄攔截問題,前端獲取不到session,每次請求sessionid變化

    Springboot+vue跨域+登錄攔截問題,前端獲取不到session,每次請求sessionid變化

    折磨了整整兩天,終于把這個(gè)問題搞定了. 一開始后端開發(fā)完后,用apifox所有接口測試都是可以的,但當(dāng)前端跑起來后發(fā)現(xiàn)接收不到后端的數(shù)據(jù). 網(wǎng)上查了很多方法,首先試了查到的前端代理方法 沒用,代理配置了但api不會替換成設(shè)置好的代理,還是以字符串形式到相對路徑上. 于是找

    2024年01月19日
    瀏覽(17)
  • vue權(quán)限管理——按鈕控制

    根據(jù)right中的數(shù)據(jù)對應(yīng)增刪改查按鈕 ?initDynamicRoutes給用戶對應(yīng)的router中動(dòng)態(tài)添加meta元數(shù)據(jù)后,permission.js中通過router.currentRoute就可以獲取 directives/permission.js 獲取路由元數(shù)據(jù)中的rights權(quán)限和按鈕上的action記錄權(quán)限做比較:如果包含則有該權(quán)限,否則無權(quán)限,進(jìn)行刪除元素或者

    2024年02月11日
    瀏覽(19)
  • 前端Vue:權(quán)限管理,給角色分配權(quán)限

    前端Vue:權(quán)限管理,給角色分配權(quán)限

    ??前端-Vue權(quán)限控制,菜單權(quán)限,按鈕權(quán)限_一人創(chuàng)客的博客-CSDN博客 目錄 介紹: 前端權(quán)限的概念: 前端權(quán)限的意義: Vue權(quán)限管理的代碼實(shí)現(xiàn): 菜單 刷新界?菜單消失 標(biāo)識?戶名, ?便查看當(dāng)前?戶 退出登陸:? 界面: 1.判斷當(dāng)前是否登陸 2.控制是否可以訪問角色界面 (

    2024年02月11日
    瀏覽(18)
  • Vue + Element UI 前端篇(十三):頁面權(quán)限控制

    Vue + Element UI 前端篇(十三):頁面權(quán)限控制

    既然是后臺權(quán)限管理系統(tǒng),當(dāng)然少不了權(quán)限控制啦,至于權(quán)限控制,前端方面當(dāng)然就是對頁面資源的訪問和操作控制啦。 前端資源權(quán)限主要又分為兩個(gè)部分,即導(dǎo)航菜單的查看權(quán)限和頁面增刪改操作按鈕的操作權(quán)限。 我們的設(shè)計(jì)把頁面導(dǎo)航菜單和頁面操作按鈕統(tǒng)一存儲在菜

    2024年01月25日
    瀏覽(52)
  • vue3用戶權(quán)限管理(導(dǎo)航欄權(quán)限控制)2

    vue3用戶權(quán)限管理(導(dǎo)航欄權(quán)限控制)2

    上一節(jié)我們說到,通過后端的用戶權(quán)限來進(jìn)行路由的動(dòng)態(tài)添加,實(shí)現(xiàn)權(quán)限控制,這一節(jié)我們通過遞歸導(dǎo)航欄組件,實(shí)現(xiàn)后臺權(quán)限控制導(dǎo)航欄,接上一節(jié)所說我們在vuex中存儲了一個(gè)路由數(shù)組[\\\"/\\\",\\\"*\\\"]進(jìn)行權(quán)限控制,這一節(jié)還是要使用這個(gè)路由數(shù)組進(jìn)行導(dǎo)航欄的控制,開始吧。 ?

    2024年02月03日
    瀏覽(23)
  • 補(bǔ)充 vue3用戶管理權(quán)限(路由控制)

    之前有人問我 ,如果是二級路由如何添加,這里我做一個(gè)補(bǔ)充吧。直接拿方法去用就行。也不做解釋了。稍微看下就能看懂了 假設(shè),后端返回給我們一個(gè)數(shù)據(jù) [“/defa”,\\\"/defa/defa1\\\"] 這樣的一個(gè)路由表,我們就需要通過這個(gè)路由表去篩選匹配我們的動(dòng)態(tài)路由,然后在進(jìn)行添加。

    2024年01月21日
    瀏覽(23)
  • 【VUE學(xué)習(xí)】權(quán)限管理系統(tǒng)前端vue實(shí)現(xiàn)3-登陸頁面

    ???????? path: \\\'/login\\\' :指定了路由的路徑為 \\\"/login\\\",表示該路由匹配到的 URL 是 \\\"/login\\\"。 name: \\\'login\\\' :指定了路由的名稱為 \\\"login\\\",可以在代碼中通過名稱來進(jìn)行路由導(dǎo)航。 component: () = import(\\\'../views/Login.vue\\\') :指定了該路由對應(yīng)的組件為一個(gè)異步加載的組件。 使用箭頭函

    2024年02月13日
    瀏覽(27)
  • 掌握Spring MVC攔截器整合技巧,實(shí)現(xiàn)靈活的請求處理與權(quán)限控制!

    掌握Spring MVC攔截器整合技巧,實(shí)現(xiàn)靈活的請求處理與權(quán)限控制!

    (1)瀏覽器發(fā)送一個(gè)請求會先到Tomcat的web服務(wù)器。 (2)Tomcat服務(wù)器接收到請求以后,會去判斷請求的是靜態(tài)資源還是動(dòng)態(tài)資源。 (3)如果是靜態(tài)資源,會直接到Tomcat的項(xiàng)目部署目錄下去直接訪問。 (4)如果是動(dòng)態(tài)資源,就需要交給項(xiàng)目的后臺代碼進(jìn)行處理。 (5)在找到具體的方法之前

    2024年01月22日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包