| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- [[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/setup.adoc#test-mockmvc-withmockuser[Running as a User in Spring MVC Test with Annotations].
 
- To do so, use Spring Security's `SecurityMockMvcConfigurers.springSecurity()`:
 
- ====
 
- .Java
 
- [source,java,role="primary"]
 
- ----
 
- import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*;
 
- @ExtendWith(SpringExtension.class)
 
- @ContextConfiguration(classes = SecurityConfig.class)
 
- @WebAppConfiguration
 
- public 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])
 
- @WebAppConfiguration
 
- class CsrfShowcaseTests {
 
-     @Autowired
 
-     private lateinit var context: WebApplicationContext
 
-     private var mvc: MockMvc? = null
 
-     @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
 
- ====
 
 
  |