一.简介
在前面的文章中,我们使用表单方式完成登录提交,但是目前基本都是前后端分离项目,很少使用表单提交的方式,基本都是json方式,使用ajax提交,那么我们怎么将表单提交方式改成json格式登录呢?
二.思路分析
通过前面源码部分学习中,已经知道在HttpSecurity配置中,每新增一种配置,都会加入一个过滤器,或者覆盖默认的过滤器,那么使用的表单登录也是同样使用过滤器,追踪源码看下他的过滤器:UsernamePasswordAuthenticationFilter文章来源:https://www.toymoban.com/news/detail-457237.html
2.1原始表单过滤器提交认证请求的逻辑
文章来源地址https://www.toymoban.com/news/detail-457237.html
- 使用Obtain获取用户名和密码,其实就是通过request.getParameter获取
- 然后将用户名和密码封装在token
- 调用proverManager.authenticate()进行认证 所以基于这块我们可以参考上节课验证码的思路:
2.2实现思路
- 写一个过滤器,继承UsernamePasswordAuthenticationFilter
- 从json格式参数中获取用户名和密码
- 然后进行封装成token
- 调用this.getAuthenticationManager().authenticate(authRequest) 完成认证
- 如果不是json格式请求则还是走原先的逻辑,调用父类
到了这里,关于Springboot +spring security,实现前后端分离,使用JSON数据格式登录(将表单提交方式改成json格式登录)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!