Springboot +spring security,实现前后端分离,使用JSON数据格式登录(将表单提交方式改成json格式登录)

本文介绍如何在SpringBoot项目中结合Spring Security,将传统的表单提交方式改为JSON格式登录。通过自定义过滤器,从JSON请求中获取用户名和密码,封装成token并进行认证。详细步骤包括定义JSON过滤器、配置过滤器以及SecurityFilterChain的设置。
摘要由CSDN通过智能技术生成

一.简介

在前面的文章中,我们使用表单方式完成登录提交,但是目前基本都是前后端分离项目,很少使用表单提交的方式,基本都是json方式,使用ajax提交,那么我们怎么将表单提交方式改成json格式登录呢?

二.思路分析

通过前面源码部分学习中,已经知道在HttpSecurity配置中,每新增一种配置,都会加入一个过滤器,或者覆盖默认的过滤器,那么使用的表单登录也是同样使用过滤器,追踪源码看下他的过滤器:UsernamePasswordAuthenticationFilter

2.1原始表单过滤器提交认证请求的逻辑

在这里插入图片描述

  1. 使用Obtain获取用户名和密码,其实就是通过request.getParameter获取
  2. 然后将用户名和密码封装在token
  3. 调用proverManager.authenticate()进行认证 所以基于这块我们可以参考上节课验证码的思路:

2.2实现思路

  1. 写一个过滤器,继承UsernamePasswordAuthenticationFilter
  2. 从json格式参数中获取用户名和密码
  3. 然后进行封装成token
  4. 调用this.getAuthenticationManager().authenticate(authRequest) 完成认证
  5. 如果不是json格式请求则还是走原先的逻辑&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘德华一不小心就打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值