日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Vue+Vuex實現自動登錄的知識點詳解

瀏覽:162日期:2023-02-03 13:35:56

在之前實現的版本中,如果你進行測試,可以看到在瀏覽器的local Storage中,確實里面有了我們加入的Authorization,而且如果沒有登錄的話,直接訪問主頁會進入登錄頁面。但其實有好幾個問題并沒有解決:

一、我們所加的Authorzation其實并不是從服務器傳過來的,而是自己的測試:只要服務器傳過來了200的響應狀態碼,我們就自己加上固定的Authorization

二、我們重新進入的時候,判斷條件是只要有Authorization就可以直接進入了,但其實應該提交給服務器判斷這個Authorization是否在數據庫中,才可以。

基于以上兩點,我們對代碼進行修改:

首先就是,我們獲取的token應該是從服務器獲取的,而不是自己給定,因此直接在服務器上接收到信息后修改:

@RequestMapping(value = '/login',method = RequestMethod.POST) public RespBean login( @RequestBody UserLogin userLogin, Model model ){ if (userService.check(userLogin)){ String token = UUID.randomUUID().toString();// System.out.println(token); userService.autoLog(userLogin,token); return new RespBean('success','登錄成功',token); }else{ return new RespBean('fail','登錄失敗'); } }

這里使用uuid直接生成隨機的token,為了用respBean傳遞回去數據,因此傳遞回去的對象除了狀態信息和消息之外,還需要多加一個token:

RespBean對象代碼為:

public class RespBean { private String status; private String msg; private String token = null;}

各種方法自己加上就好了。

如果仔細的話,會發現我們傳進來的參數好像跟上一次的不一樣了,上一次傳遞了兩個用@RequestParam修飾的賬號密碼的String類型的對象,而這一次直接傳遞了一個UserLogin的對象,這是因為我覺得如果要接收表單等信息的話,每一個都使用這樣的一個個參數會顯得接收參數很多,而且如果要修改接收的數值的話,可能需要很多地方都要修改,復用性太差了。

第二個原因是我們的Controller層應該只是最大限度的邏輯表示,而具體怎么添加用戶、怎么鑒別用戶是否登錄等信息,完完全全應該交給下層的Service層呀Mapper層呀去做,但如果接收的是這樣的password、username等數值的話,調用下一層的時候,我們還需要把這些數值直接放入,否則就要在Controller層對數據進行操作,這就破壞層次結構了。

所以,為了解決這個問題,我們可以把所有表單中需要用到的數據單獨封裝成一個對象,這個對象就專門用來接收web的數據以及在各個層之間流轉:

java @Data public class UserLogin { private String username; private String password; }把,這里的@Data注解就是lombok的注解,可以讓我們不用再去創建get、set等方法了。這樣創建完對象以后,我們的登錄操作就可以直接將這樣的對象拿來使用了。

但是,如果你是跟著做下來的,就會遇到跟我一樣的問題:登錄的時候會報錯:

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token ’username’: was expecting (JSON String, Number, Array, Object or token ’null’, ’true’ or ’false’); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token ’username’: was expecting (JSON String, Number, Array, Object or token ’null’, ’true’ or ’false’)

大概的意思就是說,我們接受的跟發出的不大一樣,對應不上,而這樣的原因是:我們當時為了使用get和@RequestParam方法,在api.js中,把獲取到的json數據格式,變成了json字符串的格式了,所以就不能使用@RequestBody這樣一個接收json對象的方法來接收了。

因此上一個程序中的api.js改為:

export const postRequest = (url, params) => { return axios({ method: ’post’, url: `${base}${url}`, data: params, // transformRequest: [function (data) { // // Do whatever you want to transform the data // let ret = ’’ // for (let it in data) { // ret += encodeURIComponent(it) + ’=’ + encodeURIComponent(data[it]) + ’&’ // } // return ret // }], headers: { ’Content-Type’: ’application/json;charset=UTF-8’ } });}

詳細的可以看一下這個文章@RequestBody和@RequestParam的區別

而第二點,關于如何實現鑒別token,就是在路由之前的那個方法上,加上傳遞給服務器以及接收相應信息進行操作:

router.beforeEach((to,from,next)=>{ if(to.path ===’/login’){ next(); }else { let token = localStorage.getItem(’Authorization’); if(token ===null || token ===’’){ next(’/login’); }else { getRequest(’/autoLog’,{ token:token }).then(resp=>{ if(resp.status == 200){ var json = resp.data; if(json.status==’success’){ next(); }else{ // next(’/login’); } }else{ alert(’請求失敗’, ’失敗!’); } }) } }});

服務器的處理也就很簡單了,跟上面登錄其實是差不多的,就不再列舉出來了

以上就是Vue+Vuex實現自動登錄的知識點詳解的詳細內容,更多關于Vue+Vuex實現自動登錄的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩伊人| 日韩专区在线视频| 精品视频自拍| 久久蜜桃精品| 亚洲一区二区三区久久久| 国产精品中文字幕制服诱惑| 91一区二区| 欧美日韩激情在线一区二区三区| 国产一区二区三区探花| 91免费精品| 久久五月天小说| 欧美特黄a级高清免费大片a级| 亚洲综合日本| 中文字幕日韩亚洲| 91精品尤物| 久久这里只有精品一区二区| 精品久久一区| 亚洲福利久久| 色综合视频一区二区三区日韩| 国产第一亚洲| 免费人成在线不卡| 91欧美日韩| 免费日韩av片| 麻豆精品视频在线观看| 欧美在线亚洲| 久久中文精品| 亚洲欧美在线综合| 久久亚洲国产精品尤物| 久久国产精品久久w女人spa| 精品视频在线观看网站| 在线亚洲观看| 国产精选在线| 日韩av中文字幕一区二区| 日韩啪啪电影网| 日本午夜精品| 一区免费视频| 日韩a一区二区| 亚洲九九精品| 色吊丝一区二区| 国产精品一区二区av日韩在线| 午夜久久久久| 国产精品成人a在线观看| 亚洲制服一区| 亚洲高清激情| 国产一区国产二区国产三区| 亚洲精品第一| 欧美a级一区| 国精品产品一区| 日韩黄色在线观看| 黄色日韩在线| 黑人精品一区| 久久不见久久见中文字幕免费 | 国产精品igao视频网网址不卡日韩| 天堂资源在线亚洲| 久久久久久亚洲精品美女| 亚洲人成亚洲精品| 亚洲精品国产偷自在线观看| 国产999精品在线观看| 日韩欧美三区| 亚洲在线电影| 欧美日韩色图| 福利在线免费视频| 欧美激情麻豆| 欧美亚洲色图校园春色| 免费不卡在线观看| 午夜精品免费| 久久精品青草| 都市激情国产精品| 久久精品欧洲| 国产精品a级| 国产精品一级| 欧美日韩 国产精品| 亚洲人www| 亚洲少妇诱惑| 欧美影院三区| 人人精品亚洲| 日本久久成人网| 欧产日产国产精品视频| 精品视频国内| 久久精品二区亚洲w码 | 国产色播av在线| 精品黄色一级片| 欧美激情福利| 久久69成人| 国内精品麻豆美女在线播放视频| 国产激情久久| 国产精品sss在线观看av| 国产精品网站在线看| 97久久超碰| 91精品国产91久久久久久黑人| 日韩和的一区二在线| 亚洲先锋成人| 国产日韩中文在线中文字幕| 综合激情一区| 欧美日韩国产传媒| 亚洲日本网址| 国产盗摄——sm在线视频| 国产精品久久亚洲不卡| 日韩免费精品| 最新亚洲国产| 免费在线观看精品| 亚洲一区二区免费看| 日韩av一区二区在线影视| 激情久久中文字幕| 91成人精品视频| 先锋影音国产一区| 日产欧产美韩系列久久99| 欧美片第1页综合| 麻豆一区二区三区| 国产成人精选| 欧美成a人免费观看久久| 欧美精品激情| 亚洲精品裸体| 国产欧美一区二区色老头| 麻豆中文一区二区| 日韩中文首页| 美女久久久久| 亚洲精品一级| 精品欧美视频| 久久亚洲国产| 蜜臀va亚洲va欧美va天堂| 日韩激情av在线| 麻豆视频观看网址久久| 成人精品亚洲| 丝袜国产日韩另类美女| 日韩区欧美区| 欧美激情一区| 久久国产日本精品| 亚洲一区二区小说| 国产精久久久| 136国产福利精品导航网址| 视频在线在亚洲| 国产精品美女午夜爽爽| 国产欧美一区二区三区精品酒店| 亚洲黑丝一区二区| 亚久久调教视频| 精品国产99| 国产视频久久| 国产欧美91| 亚洲成人一区在线观看| 久久午夜精品一区二区| 欧美亚洲tv| 婷婷综合六月| 亚洲免费一区三区| 成人污污视频| 亚洲一区国产| 欧美激情久久久久久久久久久| 欧美日中文字幕| 青青草91视频| 国产在线日韩| 国产精品一区毛片| 免费精品国产| 国产精品久久久久毛片大屁完整版| 日韩三区在线| 日韩高清成人在线| 日韩在线第七页| 91午夜精品| 欧美中文一区二区| 国产亚洲精品美女久久| 91精品推荐| 国产精品一区免费在线| 在线亚洲一区| 国产+成+人+亚洲欧洲在线| 男人的天堂亚洲一区| 四虎884aa成人精品最新| 日韩高清二区| 国产一在线精品一区在线观看| 欧美日韩一区二区高清| 欧美日韩一二三四| 欧美激情视频一区二区三区在线播放| 九九久久婷婷| 久久精品国产在热久久| 中文字幕日本一区二区| 99久久精品费精品国产| 欧美日本二区| 久久国产66| 国产精品视频一区二区三区综合 | 国产精品久久久久久久久妇女| 欧美成人综合| 国产日韩一区| 激情欧美丁香| 国产欧美丝祙| 激情婷婷综合| 日产欧产美韩系列久久99| 日韩在线综合| 欧美色综合网| 夜夜精品视频| 日韩欧美看国产| 日韩av黄色在线| 国产精品美女久久久| 中文字幕在线视频久| 国产麻豆精品久久| 一区二区国产在线观看| 在线视频观看日韩| 黄毛片在线观看| 国产精品日韩精品中文字幕| 免费久久99精品国产| 亚洲不卡av不卡一区二区| 国产极品久久久久久久久波多结野 | 日本亚洲视频|