赞
踩
由于项目是前后端分离,产生了loadUserByUsername参数username为空,主要是因为前端发送的数据请求格式是json格式的数据,而SpringSecurity的配置则是需要提交的数据形式是表单格式的,而导致loadUserByUsername方法内的username始终没有办法接收到前端传输过来的数据
解决方案:就是从前端传输过来的数据,从发送的axios请求中设置成表单提交的格式,通过表单数据传输,就可以传输成功了
注意:spring security接受验证的时候,只接受post方法from表单传值,不接收json方法传值,如果使用json传值,不管是使用测试工具,还是使用页面传值,都是无法传输值进入后台,使用postman这个可以传输
但是如果传输的后端的值是这种的,后台是接收不到username值得
1.首先要判断传输的字符串名称是否对应的上,如果没有对应上,那就需要更改对应的字段值
2.然后更改前端传输字段的方法(这是vue的写法,但是笔者没有使用Vue,而是使用的 React,所以Vue的写法可以参考博主前后端分离spring security中loadUserByUsername参数name为空_God__is__a__girl的博客-CSDN博客)
更改前
更改后第一种方法
更改第二种方法
目前笔者也正在修改React的写法,等写出来了再更新上来
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。