我正在尝试使用weblogic 10.3.5容器对Spring Security进行单元测试。我已经为Eclipse和Weblogic提供了一个环境,我都不太熟悉它。
启动时,我得到一个例外:
java.lang.NoClassDefFoundError: javax/servlet/Filter
at java.lang.ClassLoader.defineClass1(Native Method)
blahblahblah
结果,这个单元测试失败了:
@Test
public void testGetByIdViaAccessRoles() {
Person result;
// Test the results with a ROLE_ADMIN user. This SHOULD work.
SecurityContextHolder.getContext().setAuthentication(admin);
result = personRepository.getById(1L);
assertNotNull(result);
// test the results with a ROLE_USER. Should also be good...
SecurityContextHolder.getContext().setAuthentication(user);
result = personRepository.getById(1L);
assertNotNull(result);
// test the results with a nonexistent user. Should go kablooie.
SecurityContextHolder.getContext().setAuthentication(nonuser);
try {
result = personRepository.getById(1L);
fail("Should be impossible to get this with a nonexistent user.");
} catch (AccessDeniedException ex) {
}
}
所以,我猜我没有从weblogic中获取servlet.jar。但由于我是一个相对较新的eclipse用户(IntelliJ很长一段时间),我不确定我是否正确设置了weblogic。
在我的项目方面,我检查了Oracle WebLogic Web App Extensions,但没有配置其他weblogic。还会检查动态Web模块。
有人可以向亲戚提供帮助吗?
杰森
答案 0 :(得分:0)
否认。在某个地方,我找到了目标运行时的另一种选择。一旦我设置它,它就有效。