中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現SpringBoot+Angular普通登錄

發布時間:2021-11-23 23:06:05 來源:億速云 閱讀:183 作者:柒染 欄目:云計算

如何實現SpringBoot+Angular普通登錄,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、基本問題

簡圖如下:如何實現SpringBoot+Angular普通登錄

 

數據流

SpringBoot+Angular的數據流,請參考我的上一篇SpringBoot+Angular前后端分離的數據流淺析。

簡而言之:C層負責數據轉發, M層(Service服務層)負責具體的數據處理和發出請求, 前臺的V層是頁面模板,負責組件渲染 后臺的倉庫層負責和數據庫直接對話 前臺的實體、后臺的實體和數據庫的字段一一對應。

 

前后臺的分工?

在這個登錄功能中,后臺唯一的作用就是只做數據驗證。當用戶登錄時,前臺向后臺發起用戶名、密碼驗證的請求,如果后臺驗證成功,就返回真,否則返回假。當前臺接收到返回值后,再判斷用戶是否登錄成功。

 

登錄狀態保存在哪?

一開始,可以保存在app組件中,然后V層使用ngIf直接獲取C層變量就可以獲取登錄狀態,但是依賴登錄狀態的

登錄狀態儲存在前臺的服務層的一個變量中,所有的組件在渲染前都去找這個登錄服務要數據,如果用戶處于登錄狀態,就正常跳轉,否則跳轉到登錄頁。

 

登錄和注銷動作

初始化時,登錄狀態為假。登錄時,如果后臺返回值是真,就把登錄狀態變量改為真,否則不變。注銷是,只需把登錄狀態改為假,即可。

 

二、詳解登錄注銷過程

 

登錄

如何實現SpringBoot+Angular普通登錄  
圖片.png
  1. 用戶提交Form表單,觸發C層onSubmit()方法
  2. C層調用服務的Login()方法
  3. teacher服務向后臺發起Http請求,傳入用戶名和密碼
  4. 后臺C層調用M層Login方法,傳入用戶名密碼
  5. 后臺M層調用倉庫findByUsername方法,傳入Username
  6. 后臺倉庫使用SQL從數據庫中去除對象,并返回給M層
  7. 后臺M層調用ValidatePassword把倉庫返回的用戶密碼和C層傳入的密碼比較,如果一致就返回True
  8. 后臺C層把布爾值返回給前臺
  9. 前臺teacher服務層把接受的布爾值返回給C層
  10. 前臺C層判斷返回的數據是否為真,若為真,就調用M層setLogin方法,把登錄狀態修改為1
  11. 前臺C層返回,跳轉對應的界面
 

跳轉

如何實現SpringBoot+Angular普通登錄  
圖片.png
  1. 瀏覽器輸入Url觸發方法,生成組件
  2. C層向Teacher服務訂閱登錄組件
  3. C層獲取登錄狀態isLogin$并賦值給本類的islogin
  4. V層渲染頁面,根據C的登錄狀態來決定顯示那些內容,如果未登錄就顯示登錄頁
  5. 把頁面返回給瀏覽器
 

注銷

如何實現SpringBoot+Angular普通登錄  
圖片.png
  1. 瀏覽器觸發導航欄C層Logout方法
  2. 導航欄調用M層setIsLogin(flase),把登錄狀態改成0
  3. M層返回
  4. 把登錄頁返回給瀏覽器
 

三、合并圖片

如何實現SpringBoot+Angular普通登錄  
圖片.png
 

四、存在的問題

當前的所有驗證都只是在前臺,后臺沒有任何驗證,用戶無需認證便可以通過瀏覽器或是其它的REST工具對后臺進行肆意操作。一個形同虛設的登錄功能只是擋住了一些正常的用戶,但對一些非法用戶的入侵卻毫無防范。甚至于后臺根本就沒有能力判斷是誰正在進行數據請求,權限控制當然也就無從談起。本文的圖片只是解釋了教程中的邏輯,使教程更容易理解,所以更好的方式還是使用安全性更高的token令牌機制。

看完上述內容,你們掌握如何實現SpringBoot+Angular普通登錄的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

易门县| 麟游县| 景泰县| 仪陇县| 维西| 永胜县| 洞口县| 美姑县| 吉隆县| 铜川市| 新津县| 平邑县| 徐水县| 礼泉县| 义乌市| 正安县| 福州市| 县级市| 和林格尔县| 孝义市| 衡南县| 桂阳县| 红桥区| 方正县| 增城市| 益阳市| 贵州省| 汽车| 三门县| 宕昌县| 广西| 文安县| 贡嘎县| 平谷区| 呼伦贝尔市| 荆州市| 屏南县| 鹿泉市| 云南省| 徐州市| 秦安县|