springboot+vue+redis實現自動登錄功能


思路(代碼看“chufangmama”這個項目):
我們登錄成功后,可以將登錄的用戶存儲到redis中。在redis中數據沒有過期的情況下,我們再次進入登錄頁面時,會使用vue的created方法發送一個axios請求,去查詢redis中是否有用戶數據。如果有,可以使用sendRedirect進行跳轉,不建議使用request.getRequestDispatcher().forward,因為這個方法會改變我們的請求路徑,這樣即使我們自動登錄成功,但是我們項目源代碼中引用的那些圖片啊、css啥的都沒法加載,因為我們的請求路徑改變了。
只使用sendRedirect進行跳轉還不夠,雖然我們看到控制台顯示請求302,即我們的請求相應成功,但是頁面並沒有跳轉。前端頁面的跳轉還需要我們進行控制。在這里,因為自動登錄不用向后端傳遞什么數據,所以就使用的get請求,同時在axios的回調函數中,我們可以使用window.location = "/"來控制重定向后前端頁面的跳轉,但是不可以不進行判斷就跳轉。
如果我們使用后端請求向前端返回請求成功的數據,因為我們重定向頁面了,所以並不能從返回數據的data中拿到數據,相反,我們拿到的data數據是頁面源代碼。所以可以通過判斷result.data!="",即不等於空進行條件限制。具體代碼如下:
前端

后端

可以看看控制台,data中的數據並不是我們后端返回的str,所以這個返回str語句可以刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM