av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue中登錄驗(yàn)證成功后保存token,并每次請(qǐng)求攜帶并驗(yàn)證token操作

瀏覽:96日期:2022-11-27 14:22:46

在vue中,可以用**Storage(sessionStorage,localStorage)**來(lái)存儲(chǔ)token,也可以用vuex來(lái)存儲(chǔ)(但要考慮頁(yè)面刷新數(shù)據(jù)消失問(wèn)題,可以在vuex用Storage),

下面介紹用localStorage來(lái)存儲(chǔ):

在登錄請(qǐng)求成功后,會(huì)返回一個(gè)token值,用loaclStorage保存

localStorage.setItem(’token’,res.data.token)

在main.js中設(shè)置全局請(qǐng)求頭和響應(yīng)回來(lái)的判斷

//設(shè)置axios請(qǐng)求頭加入tokenAxios.interceptors.request.use(config => { if (config.push === ’/’) { } else { if (localStorage.getItem(’token’)) { //在請(qǐng)求頭加入token,名字要和后端接收請(qǐng)求頭的token名字一樣 config.headers.token=localStorage.getItem(’token’); } } return config; }, error => { return Promise.reject(error); });//=============================//響應(yīng)回來(lái)token是否過(guò)期Axios.interceptors.response.use(response => { console.log(’響應(yīng)回來(lái):’+response.data.code) //和后端token失效返回碼約定403 if (response.data.code == 403) { // 引用elementui message提示框 ElementUI.Message({ message: ’身份已失效’, type: ’err’ }); //清除token localStorage.removeItem(’token ’); //跳轉(zhuǎn) router.push({name: ’login’}); } else { return response } }, error => { return Promise.reject(error); })

在router中的index設(shè)置全局守衛(wèi)來(lái)判斷是否存在token,不存在就返回登錄頁(yè)

router.beforeEach((to, from, next) => {//to到哪兒 from從哪兒離開(kāi) next跳轉(zhuǎn) 為空就是放行 if (to.path === ’/’) { //如果跳轉(zhuǎn)為登錄,就放行 next(); } else { //取出localStorage判斷 let token = localStorage.getItem(’token ’); if (token == null || token === ’’) { console.log(’請(qǐng)先登錄’) next({name: ’login’}); } else { next(); } }});

補(bǔ)充知識(shí):Vue獲取并存儲(chǔ)服務(wù)器返回的AuthorizationToken信息并給每次請(qǐng)求添加上token

由于后臺(tái)是用jwt的token進(jìn)行身份權(quán)限驗(yàn)證,后臺(tái)在登錄后把token添加響應(yīng)頭里,所以前臺(tái)需要把這個(gè)token存放起來(lái),并給每次請(qǐng)求的請(qǐng)求頭添加上token,服務(wù)器才能獲取token進(jìn)行身份認(rèn)證。

前臺(tái)使用vue項(xiàng)目:

loging.vue(登錄組件)

{ submitForm(formName) { this.$axios .post(’/api/admin/login’, { userName: this.ruleForm.userName, password: this.ruleForm.password }) .then(successResponse => { this.responseResult = JSON.stringify(successResponse.data) this.msg = JSON.stringify(successResponse.data.msg) if (successResponse.data.code === 200) { this.msg=’’; localStorage.setItem(’userName’,this.ruleForm.userName); //獲取并存儲(chǔ)服務(wù)器返回的AuthorizationToken信息 var authorization=successResponse.headers[’authorization’]; localStorage.setItem(’authorization’,authorization); //登錄成功跳轉(zhuǎn)頁(yè)面 this.$router.push(’/dashboard’); } }) .catch(failResponse => {}) } }

main.js(全局配置js):

//自動(dòng)給同一個(gè)vue項(xiàng)目的所有請(qǐng)求添加請(qǐng)求頭axios.interceptors.request.use(function (config) { let token = localStorage.getItem(’authorization’); if (token) { config.headers[’Authorization’] = token; } return config;})

這里還需要考慮token過(guò)期失效的問(wèn)題,博主將會(huì)在后續(xù)另寫(xiě)博客補(bǔ)充。

以上這篇Vue中登錄驗(yàn)證成功后保存token,并每次請(qǐng)求攜帶并驗(yàn)證token操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
主站蜘蛛池模板: 国产毛片视频 | 中文在线一区二区 | 日韩在线一区二区三区 | 久久在视频| 国产在线精品一区二区三区 | 亚洲www啪成人一区二区麻豆 | 黄网免费看 | 国产精品麻 | 一区视频 | 亚洲精品一区二区三区蜜桃久 | 国产精品一区二区无线 | 殴美成人在线视频 | 九色91视频 | 亚洲电影一区二区三区 | 国产色网 | 黄网站涩免费蜜桃网站 | 国产精品久久久久久久久久 | 69xxx免费| 国产传媒在线播放 | 一本大道久久a久久精二百 欧洲一区二区三区 | 欧美精品久久久久久久久久 | 国产欧美日韩久久久 | 久久亚洲一区二区 | 日韩一区在线观看视频 | 91色网站| 九九久久精品 | 精品一区二区不卡 | 欧美三区 | 久久久123 | 国产精品夜间视频香蕉 | 瑞克和莫蒂第五季在线观看 | 久久99精品久久久 | 亚洲精品中文字幕av | 国产精品视频播放 | 男女啪啪高潮无遮挡免费动态 | 亚洲成人自拍 | 亚洲一区在线日韩在线深爱 | 日韩欧美三级在线 | 精品免费国产一区二区三区四区介绍 | 国产一区二区三区日韩 | 欧美人妇做爰xxxⅹ性高电影 |