Spring Security 3.2 CSRF disable for specific URLs

后端 未结 7 1928
梦毁少年i
梦毁少年i 2020-12-08 02:32

Enabled CSRF in my Spring MVC application using Spring security 3.2.

My spring-security.xml


 

        
相关标签:
7条回答
  • 2020-12-08 03:21

    Explicitly disable for specific url patterns and enable for some url patterns.

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.annotation.Order;
    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    
    @EnableWebSecurity
    public class SecurityConfig {
    
        @Configuration
        @Order
        public static class GeneralWebSecurityConfig extends WebSecurityConfigurerAdapter {
            
            
            protected void configure(HttpSecurity http) throws Exception {
                http.csrf().ignoringAntMatchers("/rest/**").and()
                .authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/home/**","/search/**","/geo/**").authenticated().and().csrf()
                .and().formLogin().loginPage("/login")
                .usernameParameter("username").passwordParameter("password")
                .and().exceptionHandling().accessDeniedPage("/error")
                .and().sessionManagement().maximumSessions(1).maxSessionsPreventsLogin(true);
            }
        }
    }
    
    0 讨论(0)
提交回复
热议问题