天天看點

記一次小程式擷取使用者資訊SPringboot背景異常排查過程

作者:大齡碼農程式員

分享一個匪夷所思的案例,大緻的背景是想在小程式登入之後拿到使用者的個人資訊存到資料庫,因為資料庫的密碼是經過加密的,是以在security架構下如圖1在登入驗證之後增加使用者對象設定初始密碼123456加密進行插入操作,一切看上去完美(筆者也這麼認為,畢竟一頓操作猛如虎),然而當小程式端點選登入之後意外返現接口401錯如圖1,控制台報錯如圖2,趕緊百度報錯資訊說是url中包含了分号導緻背景過濾器判斷異常,于是參照晚上方案各種設定,發現問題依舊,于是乎,筆者陷入了深思(百思不得姐),忽而想到,在未準備存儲使用者資訊時,一切運作正常,是以猜測問題在新加的使用者存儲代碼段,這個時候已經跟蹤源代碼是最好的方式了,于是筆者翻出了壓箱底的如圖3(好記性不如爛筆頭,各位小夥伴拿好本子,劃重點做好筆記,會考的),幾番調試下來,終于找到問題如圖4所示,因為注入了Encoder的加密方式,導緻項目賬密校驗過程中出現錯誤(密碼設定了明文,前端傳入的密碼加密之後與系統設定的明文無法比對)而重定向到了error界面,是以小程式端會看到帶分号的請求異常,這也給筆者造成了錯誤的判斷,将預設的密碼加密處理後小程式登入正常如圖5,使用者資訊同樣儲存了如圖6(打完,可以收工了)

記一次小程式擷取使用者資訊SPringboot背景異常排查過程
記一次小程式擷取使用者資訊SPringboot背景異常排查過程
記一次小程式擷取使用者資訊SPringboot背景異常排查過程
記一次小程式擷取使用者資訊SPringboot背景異常排查過程
記一次小程式擷取使用者資訊SPringboot背景異常排查過程

繼續閱讀