前言
使用JWT之後,對於Spring Security有些地方就需要進行調整了,另外對於前端也是需要調整的,因爲原本是有狀態的,現在變成無狀態了,也就不存在cookie和session的交互了,這時候前端的認證就需要進行調整。
一、思路說明
有了前面做的一些基本工作之後,表結構和數據庫的操作都是一樣的,只需要在一些驗證上進行調整即可。
(1)JWTLoginFilter:登錄的過濾器,主要用於獲取用戶輸入的賬號密碼,封裝成UsernamePasswordAuthenticationToken,然後交給Spring Security 的authenticationManager進行驗證管理。Spring Security會根據用戶傳過來的username,通過自定義的CustomUserDetailsService的loadUserByUsername獲取到一個含有真正的username和password的UserDetails,在這裏我們之前使用的是User,爲了我們能夠返回我們自定義的一些信息,我們需要自定義一個JwtUser實現UserDetails。
(2)JWTAuthorizationFilter:驗證