一.簡介
在前面的文章中,我們使用表單方式完成登錄提交,但是目前基本都是前后端分離項目,很少使用表單提交的方式,基本都是json方式,使用ajax提交,那么我們怎么將表單提交方式改成json格式登錄呢?
二.思路分析
通過前面源碼部分學(xué)習(xí)中,已經(jīng)知道在HttpSecurity配置中,每新增一種配置,都會加入一個過濾器,或者覆蓋默認(rèn)的過濾器,那么使用的表單登錄也是同樣使用過濾器,追蹤源碼看下他的過濾器:UsernamePasswordAuthenticationFilter文章來源:http://www.zghlxwxcb.cn/news/detail-457237.html
2.1原始表單過濾器提交認(rèn)證請求的邏輯
文章來源地址http://www.zghlxwxcb.cn/news/detail-457237.html
- 使用Obtain獲取用戶名和密碼,其實就是通過request.getParameter獲取
- 然后將用戶名和密碼封裝在token
- 調(diào)用proverManager.authenticate()進(jìn)行認(rèn)證 所以基于這塊我們可以參考上節(jié)課驗證碼的思路:
2.2實現(xiàn)思路
- 寫一個過濾器,繼承UsernamePasswordAuthenticationFilter
- 從json格式參數(shù)中獲取用戶名和密碼
- 然后進(jìn)行封裝成token
- 調(diào)用this.getAuthenticationManager().authenticate(authRequest) 完成認(rèn)證
- 如果不是json格式請求則還是走原先的邏輯,調(diào)用父類
到了這里,關(guān)于Springboot +spring security,實現(xiàn)前后端分離,使用JSON數(shù)據(jù)格式登錄(將表單提交方式改成json格式登錄)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!