成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

vue登錄以及權(quán)限驗(yàn)證相關(guān)的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

關(guān)鍵詞:前后端分離、jwt、登錄、權(quán)限驗(yàn)證

最近在做一個(gè)小應(yīng)用,需要用到vue實(shí)現(xiàn)登錄,以及給不同路由設(shè)置權(quán)限。在網(wǎng)上看了很多文章,講的是亂七八糟。感嘆國(guó)內(nèi)技術(shù)類文章實(shí)在是差勁,抄來抄去。這篇文章就說說我最后是如何實(shí)現(xiàn)的。

網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了10多年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。

前后端分離項(xiàng)目中,后端提供api接口給前端,使用jwt發(fā)放權(quán)限。

首先前端提供用戶名和密碼請(qǐng)求登錄接口,后端驗(yàn)證之后返回給前端一個(gè)token,之后前端在請(qǐng)求需要權(quán)限的接口時(shí)攜帶這個(gè)token就可以了。

兩個(gè)問題

現(xiàn)在面臨兩個(gè)問題,

首先vue中不同的路由有不同的權(quán)限,比如我要訪問后臺(tái) /admin, 就需要先登錄才行,而有的頁(yè)面不需要登錄。

第二個(gè)問題是,vue組件中使用axios請(qǐng)求后臺(tái)服務(wù)時(shí),不同的接口有不同的權(quán)限。

vue登錄以及權(quán)限驗(yàn)證相關(guān)的實(shí)現(xiàn)

后端接口權(quán)限

先來解決第二個(gè)問題。vue不同組件都要用到axios,我們?cè)谌譃閍xios添加request和response的攔截器。

也就是,在發(fā)起請(qǐng)求之前,先檢測(cè)header是否攜帶token信息。在接收響應(yīng)之前,先查看后端返回狀態(tài)碼,如果說需要token驗(yàn)證就跳轉(zhuǎn)到登錄界面。

在main.js添加如下,或者新增一個(gè)http.js文件:

// * http request 攔截器
axios.interceptors.request.use(
  config => {
    // * 判斷是否存在token,如果存在的話,則每個(gè)http header都加上token
    // * token會(huì)在登錄之后存儲(chǔ)在本地
    if (localStorage.token) {
      config.headers["Authorization"] = `Bearer ${localStorage.token}`;
    }
    return config;
  },
  err => {
    return Promise.reject(err);
  });

// * http response 攔截器
axios.interceptors.response.use(
  response => {
    let data = response.data;
    // * 正常返回?cái)?shù)據(jù)
    if (data.code === 0) {
      // * 返回data
      return data
    }
    // * 如果code是20103 表示token未認(rèn)證(后端定義的錯(cuò)誤碼)
    // * 跳轉(zhuǎn)到login
    if (data.code === 20103) {
      router.replace('/login')
    }
    return Promise.reject(data);
  },
  error => {
    return Promise.reject(error);
  });

Vue.prototype.$http = axios;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:vue登錄以及權(quán)限驗(yàn)證相關(guān)的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://jinyejixie.com/article30/isgpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
四平市| 明水县| 包头市| 合肥市| 张家口市| 肇州县| 镇远县| 永吉县| 峨眉山市| 依安县| 大邑县| 沁源县| 赣榆县| 光泽县| 胶州市| 莒南县| 桂东县| 凭祥市| 石棉县| 南华县| 马山县| 新化县| 监利县| 隆尧县| 弥勒县| 获嘉县| 铁岭县| 墨竹工卡县| 湾仔区| 南阳市| 灵武市| 上高县| 仁布县| 外汇| 余姚市| 罗定市| 西盟| 连江县| 镇坪县| 措勤县| 宜君县|