Spring Security 不断重定向到登录

bmvo0sr5  于 2021-09-30  发布在  Java
关注(0)|答案(1)|浏览(481)

我已经在我的应用程序上配置了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");
xzlaal3s

xzlaal3s1#

我找到了答案,并愿意与大家分享,以防有一天其他人遇到这个问题。这个问题是因为csrf在SpringSecurity中默认启用,所以每次需要在表单html中调用post方法时,请确保表单中有这行代码。

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

如果你不需要的话,你也可以禁用csrf。

相关问题