(1)jwt登錄攔截,需要在賬戶密碼認證之前進行jwt認證,因此jwt攔截需要在 UsernamePasswordAuthenticationFilter 之前;
(2)jwt驗證通過則不需要執行賬戶密碼攔截,但是會執行兩次jwt攔截,原因不清楚;
(3)如果jwt沒有通過,將會執行賬戶密碼攔截;
(4)每次賬戶密碼驗證通過后,在成功處理類里面。生成token ,然后將結果一起返回給前端,
這樣下次用戶需要訪問某一API接口時,前端將該token放入請求頭中即可,key值一般是 authorization ,
當然,前提是該token沒有過期。
(5)如果token過期,前端需要寫換成賬戶密碼方式登錄,再次獲取有效的token即可,然后再去訪問指定的API接口,最好不要直接攜帶賬戶密碼信息來訪問API接口。
(6)工程我放在git倉庫里了,地址 https://github.com/cen-xi/spring-security-JWT-usernamepassword