Saltar al contenido

Deshabilite la clase de configuración Spring Security para @WebMvcTest en Spring Boot

Deseamos darte la mejor solución que hemos encontrado online. Nosotros queremos que te sirva de ayuda y si puedes compartir alguna mejora hazlo libremente.

Solución:

Para mí, en Spring Boot 2.2.4 (JUnit5), lo siguiente parece haber funcionado y omitir el filtro de seguridad.

@ExtendWith(SpringExtension.class)
@WebMvcTest(SomeController.class)
@AutoConfigureMockMvc(addFilters = false)
public class SomeControllerTest {
...

Nota: esto simplemente deshabilita cualquier filtro en la configuración de SpringSecurity. No deshabilitará la seguridad por completo. En otras palabras, seguirá arrancando la seguridad sin cargar ningún filtro.

Puedes configurar seguro =false en la anotación @WebMvcTest. Omitirá la configuración automática de MockMvc de seguridad de primavera en su Prueba

@WebMvcTest(controllers = SomeController.class, secure = false)
public class SomeControllerTest {

Nota del autor: a partir de 2021, esta respuesta ha quedado obsoleta durante algunos años y probablemente no funcione para usted.

Con Spring Security 4+, encuentro @WithMockUser anotación para ser muy útil. Proporciona un usuario y una contraseña simulados para probar los métodos de seguridad de Spring anotados con @PreAuthorize o @PostAuthorize. Todo lo que necesita hacer es anotar el método de prueba con @WithMockUser. El rol predeterminado para el usuario es USER. También puede anular el nombre de usuario y la función predeterminados.

//default
@Test
@WithMockUser
public void getProfile() 
   //your test here
 

//with username and roles
@Test
@WithMockUser(username = "john", roles="ADMIN")
public void getProfile() 
   //your test here
 

NOTA: Esta anotación se puede utilizar para clases.

@WithMockUser(username = "john", roles="ADMIN")
public class UsersAdminSecurityTest 
 

Aquí tienes las reseñas y valoraciones

Nos puedes secundar nuestro análisis escribiendo un comentario y dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *