Sen*_*pai 6 java testing spring-mvc spring-security
我需要使用Spring Security测试我们的REST控制器.我正在使用MockMvc作为弹簧安全参考建议
http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#test-mockmvc
测试:
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class LikesTest {
protected MockMvc mockMvc;
@Autowired
private WebApplicationContext context;
@Before
public void setup() {
mockMvc = MockMvcBuilders
.webAppContextSetup(context)
//.standaloneSetup(new MessageController())
.apply(SecurityMockMvcConfigurers.springSecurity())
.build();
}
@Test
@WithMockUser("user")
public void testAddLike() throws Exception {
mockMvc.perform(get("/like?msgId=4&like=false"));
}
}
Run Code Online (Sandbox Code Playgroud)
当我正在运行JUnit测试时,我正在获得此故障跟踪
org.springframework.security.web.FilterChainProxy.getFilters(FilterChainProxy.java:223)中的java.lang.NullPointerException
另外如果删除applicationContext.xml中的bean:
<bean id="springSecurityFilterChain" class="org.springframework.security.web.FilterChainProxy"/>
Run Code Online (Sandbox Code Playgroud)
然后我得到了这个失败的痕迹:
java.lang.IllegalStateException:springSecurityFilterChain不能为null.确保使用名称为springSecurityFilterChain的Bean实现Filter,或者注入要使用的Filter.在org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurer.beforeMockMvcCreated(SecurityMockMvcConfigurer.java:62)
我不知道为什么FilterChainProxy为null.在我的Web.xml中,我已经使用filter-name springSecurityFilterChain声明了DelegatingFilterProxy,我的应用程序运行正常.请帮我!谢谢
在您的情况下,在使用时.webAppContextSetup您可能忘记扩展AbstractSecurityWebApplicationInitializer以初始化安全过滤器。
使用独立设置,需要将她的安全配置添加到 @ContextConfiguration 并自动装配这个 bean:
@Autowired
FilterChainProxy springSecurityFilterChain;
Run Code Online (Sandbox Code Playgroud)
然后像这样准备 MockMvc:
MockMvc mockMvc = MockMvcBuilders
.standaloneSetup(controller)
.apply(SecurityMockMvcConfigurers.springSecurity(springSecurityFilterChain))
.build();
Run Code Online (Sandbox Code Playgroud)
Sen*_*pai -19
我已经成功让它发挥作用了。只需确保您具有正确的上下文配置即可。另外,您不需要声明 FilterChainProxy bean。谢谢
| 归档时间: |
|
| 查看次数: |
2764 次 |
| 最近记录: |