axios + spring security的问题

在我搭建springboot + spring security +vue 项目的时候,我遇到了一个问题,在使用前后端分离,登录的时候如果用了axios 的post提交表单,spring security 的UsernamePasswordAuthenticationFilter 中获取表单参数获取不到。

解决这个问题,我查了很多资料,跟了很多次代码,最后解决这个问题,有可能不是最好的解决方法,如果小伙伴们有更好的方案请留言哦!

解决方案1:重写这个过滤器

c02077d8b9f818fddca27fccab9c794aff4.jpg

通过这种方式获取到参数,但是这个有个后续问题,在使用spring security 的remember me 的时候就会出问题,这个有可能是我还没有弄清楚这块。

解决方案2:修改前端提交表单时候的header参数,任然采用spring security 原本的用户名和密码的过滤器

e70d8e21603cb45a8ed23b1706ac458d4ea.jpg

b6414600f04d2eec8e99e247185fc4f6825.jpg

为什么要加这个header信息,因为axios 提交表单的时候89af3a477ad1792fd1305be6dcc8a5eec95.jpg

不是Form Data ,所有不能通过request.getParameter("username")的方式获取参数值,所有在过滤器中不会去验证登录;

 

转载于:https://my.oschina.net/u/3398768/blog/3054946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值