Spring Security的表单登录方式,默认是通过post的方式发送请求的,如果出现请求过程中Request method 'POST' not supported,这个错误可能是在继承WebSecurityConfigurerAdapter的config文件中HttpSecurity部分的设置出现了问题。例如:
http.csrf().disable()
.requestMatchers()
.antMatchers("/oauth/authorize")
这段的作用是取得RequestMatcherConfigurer对象并配置允许过滤的路由,formlogin的loginPage没有配置进去。
解决办法:
第一种:将antMatchers中加入loginPage的配置,如.antMatchers("/login","/oauth/authorize");
第二种:将antMatchers换成anyRequest
根据项目具体情况进行设置即可。