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

您的位置:首頁技術文章
文章詳情頁

Vue中登錄驗證成功后保存token,并每次請求攜帶并驗證token操作

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

在vue中,可以用**Storage(sessionStorage,localStorage)**來存儲token,也可以用vuex來存儲(但要考慮頁面刷新數據消失問題,可以在vuex用Storage),

下面介紹用localStorage來存儲:

在登錄請求成功后,會返回一個token值,用loaclStorage保存

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

在main.js中設置全局請求頭和響應回來的判斷

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

在router中的index設置全局守衛來判斷是否存在token,不存在就返回登錄頁

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

補充知識:Vue獲取并存儲服務器返回的AuthorizationToken信息并給每次請求添加上token

由于后臺是用jwt的token進行身份權限驗證,后臺在登錄后把token添加響應頭里,所以前臺需要把這個token存放起來,并給每次請求的請求頭添加上token,服務器才能獲取token進行身份認證。

前臺使用vue項目:

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); //獲取并存儲服務器返回的AuthorizationToken信息 var authorization=successResponse.headers[’authorization’]; localStorage.setItem(’authorization’,authorization); //登錄成功跳轉頁面 this.$router.push(’/dashboard’); } }) .catch(failResponse => {}) } }

main.js(全局配置js):

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

這里還需要考慮token過期失效的問題,博主將會在后續另寫博客補充。

以上這篇Vue中登錄驗證成功后保存token,并每次請求攜帶并驗證token操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 一级毛片中国 | 91精品无人区卡一卡二卡三 | 毛片99 | 蜜桃臀av一区二区三区 | 国产一区在线看 | 精品国产乱码久久久久久中文 | 99热热| 国产日韩欧美电影 | 九九九视频精品 | 国产午夜一级 | 美女黄18岁以下禁止观看 | 北条麻妃国产九九九精品小说 | 国产h在线 | 成人高清在线视频 | 国产精品视频播放 | 国产在线播 | 一级毛片中国 | 狠狠入ady亚洲精品经典电影 | 日中文字幕在线 | 亚洲电影一区二区三区 | 91精品国产乱码久久久久久久久 | 国产欧美二区 | 日本韩国欧美在线观看 | 成人精品毛片国产亚洲av十九禁 | 啪啪免费| 热re99久久精品国99热观看 | 国产色视频网站 | 一区二区三区高清 | 亚洲精品乱码久久久久久蜜桃91 | 天天色天天射天天干 | 日韩在线一区二区三区 | 一区二区高清 | аⅴ资源新版在线天堂 | 国产日韩欧美一区二区 | 一区二区三区欧美大片 | 欧美一级免费黄色片 | 自拍偷拍av | 国产97视频在线观看 | 亚洲精品美女 | 久久出精品 | 亚洲精品一区二区 |