设置MockMvc和Spring安全认证机制
为了要在Spring MVC Test 中使用spring 的安全认证,必须添加spring 安全认证FilterChainProxy
作为一个Filter
。同时也必须要添加Spring 安全认证的TestSecurityContextHolderPostProcessor
,以便支持使用注解方式来执行Spring MVC Test。这可以通过使用spring安全认证的SecurityMockMvcConfigurers.springSecurity()
来实现。例子如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@WebAppConfiguration
public class CsrfShowcaseTests {
@Autowired
private WebApplicationContext context;
private MockMvc mvc;
@Before
public void setup() {
mvc = MockMvcBuilders
.webAppContextSetup(context)
.apply(springSecurity()) //1
.build();
}
|
SecurityMockMvcConfigurers.springSecurity()
将会在setup中初始化所有Spring MVC Test必须的动作。
近期评论