tengo el siguiente método en la primavera de MVC y usando Spring Security:¿Cómo se simula la etiqueta @PreAutorize en una prueba de integración?
@PreAuthorize("#phoneNumber == authentication.name")
@RequestMapping(value = "/{phoneNumber}/start", method = RequestMethod.POST)
public ModelAndView startUpgrading(@PathVariable("phoneNumber") String phoneNumber,
....
}
me las arreglo para simular la autenticación de algo como esto:
public Authentication tryToAuthenticate(String accountName, String password) {
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(accountName, password);
return authenticationManager.authenticate(token);
}
pero no sé cómo configurar la autorización con @ PreAutorizar
¿Cómo puedo configurar mi contexto de prueba correctamente para que no me den acceso denegado?
org.springframework.security.access.AccessDeniedException: Access is denied
at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:83)
at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:205)
Disculpa tarde, ¡esto funcionó como el encanto! 50 puntos de recompensa para ti. Gracias por tu ayuda ! –
@ThomasVervik ... Me alegro de que mi respuesta te haya ayudado. :) –