我有一个Spring Data JPA存储库,只要没有添加Spring Security依赖项(spring-boot-starter-security),并在存储库上添加相应的方法授权注释,单元测试就可以正常工作。添加后,在运行单元测试时会出现AuthenticationCredentialsNotFound异常。
如何在单元测试中“验证”对存储库方法的调用?
发布于 2015-05-13 11:10:15
我的测试现在运行良好,只要在调用存储库的方法之前,我首先验证具有所需角色的用户,如下所示:
SecurityContextHolder.getContext()
.setAuthentication(new UsernamePasswordAuthenticationToken(
"admin",
"password",
Collections.singleton(new SimpleGrantedAuthority("ROLE_ADMIN"))));
// Make calls to repository methods that require the admin role发布于 2015-05-15 01:18:46
此外,如果您需要身份验证,请设置多个角色( Rob Winch - Spring安全主管提供):
SecurityContextHolder.getContext()
.setAuthentication(new UsernamePasswordAuthenticationToken(
ADMIN,
PASSWORD,
AuthorityUtils.createAuthorityList("ROLE_USER", "ROLE_ADMIN")
));https://stackoverflow.com/questions/30204611
复制相似问题