# Setting Up MockMvc and Spring Security In order to use Spring Security with Spring MVC Test it is necessary to add the Spring Security `FilterChainProxy` as a `Filter`. It is also necessary to add Spring Security’s `TestSecurityContextHolderPostProcessor` to support [Running as a User in Spring MVC Test with Annotations](#test-mockmvc-withmockuser). This can be done using Spring Security’s `SecurityMockMvcConfigurers.springSecurity()`. For example: | |Spring Security’s testing support requires spring-test-4.1.3.RELEASE or greater.| |---|--------------------------------------------------------------------------------| Java ``` import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = SecurityConfig.class) @WebAppConfiguration public class CsrfShowcaseTests { @Autowired private WebApplicationContext context; private MockMvc mvc; @Before public void setup() { mvc = MockMvcBuilders .webAppContextSetup(context) .apply(springSecurity()) (1) .build(); } ... ``` Kotlin ``` @RunWith(SpringJUnit4ClassRunner::class) @ContextConfiguration(classes = [SecurityConfig::class]) @WebAppConfiguration class CsrfShowcaseTests { @Autowired private lateinit var context: WebApplicationContext private var mvc: MockMvc? = null @Before fun setup() { mvc = MockMvcBuilders .webAppContextSetup(context) .apply(springSecurity()) (1) .build() } // ... ``` |**1**|`SecurityMockMvcConfigurers.springSecurity()` will perform all of the initial setup we need to integrate Spring Security with Spring MVC Test| |-----|---------------------------------------------------------------------------------------------------------------------------------------------| [MockMvc Support](index.html)[Security RequestPostProcessors](request-post-processors.html)