| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | [[test-mockmvc-setup]]= Setting Up MockMvc and Spring Security[NOTE]====Spring Security's testing support requires spring-test-4.1.3.RELEASE or greater.====To use Spring Security with Spring MVC Test, add the Spring Security `FilterChainProxy` as a `Filter`.You also need to add Spring Security's `TestSecurityContextHolderPostProcessor` to support xref:servlet/test/mockmvc/authentication.adoc#test-mockmvc-withmockuser[Running as a User in Spring MVC Test with Annotations].To do so, use Spring Security's `SecurityMockMvcConfigurers.springSecurity()`:[tabs]======Java::+[source,java,role="primary"]----import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*;@ExtendWith(SpringExtension.class)@ContextConfiguration(classes = SecurityConfig.class)@WebAppConfigurationpublic class CsrfShowcaseTests {	@Autowired	private WebApplicationContext context;	private MockMvc mvc;	@BeforeEach	public void setup() {		mvc = MockMvcBuilders				.webAppContextSetup(context)				.apply(springSecurity()) // <1>				.build();	}	// ...}----Kotlin::+[source,kotlin,role="secondary"]----@ExtendWith(SpringExtension::class)@ContextConfiguration(classes = [SecurityConfig::class])@WebAppConfigurationclass CsrfShowcaseTests {    @Autowired    private lateinit var context: WebApplicationContext    private lateinit var mvc: MockMvc    @BeforeEach    fun setup() {        mvc = MockMvcBuilders            .webAppContextSetup(context)            .apply<DefaultMockMvcBuilder>(springSecurity()) // <1>            .build()    }    // ...}----======<1> `SecurityMockMvcConfigurers.springSecurity()` will perform all of the initial setup we need to integrate Spring Security with Spring MVC Test
 |