使用spring4.3.*.RELEASE版本+springsecurity4.*.RELEASE版本+ apache-tomcat-9.*版本
验证登录时,使用Post请求,后台无法获取请求体的参数。
前端发起请求,如下图:
Springsecurity配置,如下:
登录时,会出现无法获取到请求体的参数username和password的值。
如下图为Springsecurity的UsernamePasswordAuthenticationFilter部分源码:
username 和 password始终为null。导致实现接口UserDetailsService的loadUserByUsername的方法得到的username也一直为null。如果把username和password不放在请求体里,能可以正常取到(即放在url上)。
解决方法:
更换Tomcat 版本,把apache-tomcat-9.*版本更换成apache-tomcat-8.5.34版本。
原因:未知(有大神知道的,麻烦告知,感激感激)