title: How to disable CSRF in Spring Security 4 only for specific URL pattern through XML configuration?
body: <p>How to disable CSRF in Spring Security 4 only for specific URL pattern through XML configuration?</p>
  
  <p><strong>Spring-security.xml</strong></p>
  
  <pre><code>&lt;security:http auto-config="true" use-expressions="true" pattern="/ext/**"&gt;
      &lt;csrf disabled="true" /&gt;
  &lt;/security:http&gt;
  
  &lt;security:http auto-config="true" use-expressions="true" authentication-manager-ref="authenticationManager"&gt;
      &lt;security:intercept-url pattern="/auth/**" access="hasAnyRole('ROLE_USER')" /&gt;
      &lt;security:form-login login-page="/login" authentication-success-handler-ref="loginSuccessHandler" authentication-failure-url="/login" login-processing-url="/j_spring_security_check" /&gt;
      &lt;security:logout invalidate-session="true" logout-url="/logout" success-handler-ref="logoutSuccessHandler" /&gt;
  &lt;/security:http&gt;
  </code></pre>
  
  <p>My code works fine if I use only one security:http block, but after I add another block it throws error as below:</p>
  
  <p><strong>Error</strong></p>
  
  <pre><code>Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter gov.in.controller.filter.LoginAdtAuthFailHdlr.usernamePasswordAuthenticationFilter; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter] is defined: expected single matching bean but found 2: org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#1
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:561)
      at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
      ... 58 more
  Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter] is defined: expected single matching bean but found 2: org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#1
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1054)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
      ... 60 more
  </code></pre>