成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:128日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
92国产精品观看| 欧美日韩三级在线| 欧美视频一区二区三区在线观看 | 高清不卡一二三区| 欧洲色大大久久| 成人丝袜高跟foot| 欧美日韩久久不卡| 丝袜美腿亚洲综合| 亚洲毛片一区| 亚洲欧洲韩国日本视频 | 欧美日韩一本到| 人人狠狠综合久久亚洲| 欧美综合二区| 天堂一区二区在线免费观看| 中文字幕五月欧美| 精品国产污网站| av电影在线不卡| 欧美精品一区二区久久婷婷| 成人午夜av影视| 精品国产一区二区在线观看| 大尺度一区二区| 久久女同精品一区二区| 91丨九色丨国产丨porny| 久久精品一区二区三区av| 99久久久精品| 久久精品夜色噜噜亚洲aⅴ| 91欧美激情一区二区三区成人| 欧美成人aa大片| 成人av免费观看| 久久久99久久| 黄色精品一区| 亚洲国产日韩在线一区模特| 亚洲与欧洲av电影| 亚洲国产专区校园欧美| 成人欧美一区二区三区| 一区二区在线不卡| 一区二区在线观看视频| 99精品国产在热久久| 亚洲精品国产成人久久av盗摄| 在线免费观看欧美| 亚洲免费视频成人| 国产亚洲一区在线| 亚洲午夜在线视频| 在线观看www91| 国产一区高清在线| 日韩免费观看2025年上映的电影| 成人精品免费网站| 欧美激情综合在线| 在线亚洲伦理| 日韩中文字幕1| 欧美乱妇一区二区三区不卡视频| 国产成都精品91一区二区三| 久久久精品日韩欧美| 亚洲激情欧美| 视频一区视频二区中文| 欧美日韩精品欧美日韩精品一综合| 国产成人在线视频网址| 久久久精品欧美丰满| 亚洲国产精品一区在线观看不卡 | 欧美一区二区久久| 欧美在线视频一区二区三区| 亚洲精选免费视频| 在线观看免费成人| 成人国产精品免费观看| 最新国产成人在线观看| 色婷婷亚洲综合| 成人精品在线视频观看| 亚洲区小说区图片区qvod| 在线观看视频欧美| 成人午夜在线视频| 国产精品久久三| 色呦呦国产精品| www.日韩av| 亚洲精品成人在线| 欧美日本视频在线| 你懂的一区二区| 午夜精品影院在线观看| 日韩视频在线你懂得| 亚洲性图久久| 玖玖九九国产精品| 国产片一区二区| 一本一道久久a久久精品| 国产激情一区二区三区桃花岛亚洲| 国产精品丝袜91| 色伊人久久综合中文字幕| 国产乱子伦一区二区三区国色天香| 国产日本欧美一区二区| 欧美专区在线| 成人av资源站| 亚洲一区二区美女| 日韩欧美第一区| 国产亚洲精品久久飘花| 懂色av噜噜一区二区三区av| 伊人婷婷欧美激情| 日韩女优电影在线观看| 亚洲精品系列| 国产成人精品综合在线观看| 亚洲精品美国一| 精品免费国产二区三区 | 欧美成人精品福利| 欧美亚洲专区| 色综合天天综合网天天狠天天| 日精品一区二区三区| 国产午夜精品一区二区| 色婷婷综合久久久| 欧美在线3区| 日韩av二区在线播放| 久久久www成人免费无遮挡大片| 蜜桃av久久久亚洲精品| 91在线观看免费视频| 日韩国产精品久久久| 国产精品色噜噜| 欧美一区二区三区色| 国产亚洲欧美另类一区二区三区| 成人免费视频网站在线观看| 亚洲综合另类| 精品入口麻豆88视频| 久久精彩视频| 激情婷婷久久| www.欧美日韩| 国内欧美视频一区二区| 亚洲成人手机在线| 中文字幕第一页久久| 555夜色666亚洲国产免| 亚洲影院免费| 亚洲欧美综合| 国产成人在线网站| 青青草国产精品97视觉盛宴 | 欧美老年两性高潮| 一区二区精品在线观看| 99在线精品一区二区三区| 久久精品国产99| 亚洲高清视频中文字幕| 欧美国产激情一区二区三区蜜月| 3d动漫精品啪啪一区二区竹菊| 在线亚洲一区| 黄色一区三区| 欧美乱熟臀69xxxxxx| 麻豆成人综合网| 亚洲成a人v欧美综合天堂| 欧美激情在线一区二区三区| 日韩欧美另类在线| 欧美视频一区二区| 先锋影音国产精品| 亚洲激情婷婷| 欧美日韩国产高清视频| 成人激情免费视频| 国产一区二区福利视频| 青青青爽久久午夜综合久久午夜| 亚洲伦理在线精品| 国产精品久久久久久久浪潮网站| 精品久久久久久久久久久久久久久久久| 欧美日韩高清一区二区| 久久综合婷婷| 亚洲综合首页| 亚洲伦理精品| 欧美日韩调教| 欧美jjzz| 欧美精品二区三区四区免费看视频| 不卡视频一二三| 成人h精品动漫一区二区三区| 国产一区91精品张津瑜| 日韩精品高清不卡| 性久久久久久久久| 亚洲国产视频一区二区| 亚洲午夜在线电影| 一区二区成人在线观看| 亚洲男女一区二区三区| 中文字幕日韩一区二区| 国产免费成人在线视频| 国产偷v国产偷v亚洲高清| 欧美精品一区二区三区蜜桃 | 亚洲成a天堂v人片| 一区二区三国产精华液| 一区二区三区精品视频| 一个色综合网站| 亚洲综合色视频| 亚洲国产一区二区三区 | 久久国产欧美日韩精品| 美女任你摸久久| 麻豆精品视频在线观看视频| 另类小说色综合网站| 免费视频一区二区| 久久激情五月激情| 韩国av一区二区| 国产一区二区三区久久久| 激情六月婷婷综合| 国产二区国产一区在线观看| 国产99久久久国产精品免费看 | 日本特黄久久久高潮| 日韩av不卡一区二区| 日韩av一区二| 老司机午夜精品| 国产老女人精品毛片久久| 国产91高潮流白浆在线麻豆| 国产成人激情av| 99国内精品久久| 欧美日韩国产欧| 亚洲人体一区| 久久三级视频|