我已经在我的应用程序上配置了Spring Security ,如下所示,但每当我们调用requestmapping post方法的url时,它总是将我们重定向回登录页面(注意,我们是以管理员身份登录的)。我错过什么了吗?
@Override
protected void configure(HttpSecurity http) throws Exception{
http.authorizeRequests()
.antMatchers("/validate").hasAnyRole(USER.name(), ADMIN.name())
.antMatchers("/Registration","/Confirmation").hasAnyRole(USER.name(),ADMIN.name())
.antMatchers("/").permitAll()
.anyRequest().hasRole(ADMIN.name())
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/validate")
.permitAll()
.and()
.sessionManagement()
.invalidSessionUrl("/login");
1条答案
按热度按时间xzlaal3s1#
我找到了答案,并愿意与大家分享,以防有一天其他人遇到这个问题。这个问题是因为csrf在SpringSecurity中默认启用,所以每次需要在表单html中调用post方法时,请确保表单中有这行代码。
如果你不需要的话,你也可以禁用csrf。