SpringSecurity无法获取登录参数

使用spring4.3.*.RELEASE版本+springsecurity4.*.RELEASE版本+ apache-tomcat-9.*版本

验证登录时,使用Post请求,后台无法获取请求体的参数。

前端发起请求,如下图:

SpringSecurity无法获取登录参数_第1张图片

Springsecurity配置,如下:

SpringSecurity无法获取登录参数_第2张图片

 

登录时,会出现无法获取到请求体的参数username和password的值。

如下图为Springsecurity的UsernamePasswordAuthenticationFilter部分源码:

SpringSecurity无法获取登录参数_第3张图片

 

username 和 password始终为null。导致实现接口UserDetailsService的loadUserByUsername的方法得到的username也一直为null。如果把username和password不放在请求体里,能可以正常取到(即放在url上)。

 

解决方法:

更换Tomcat 版本,把apache-tomcat-9.*版本更换成apache-tomcat-8.5.34版本。

 

原因:未知(有大神知道的,麻烦告知,感激感激)

你可能感兴趣的:(SpringSecurity无法获取登录参数)