Desactivar la seguridad en springBootTest usando WebTestClient

naitsabes:

SpringBoot en 2.1 Notas de la versión contienen el siguiente dato:

configuración de seguridad se aplica ahora a WebTestClient. Para obtener más información sobre cómo probar los puntos finales garantizados, por favor refiérase a la sección correspondiente de la documentación de referencia de la primavera de Seguridad.

Problema:

Después SpringBoot actualización de 2.0.4 a 2.1.2 encontré que mis pruebas han dejado al trabajo. Estoy usando @SpringBootTestpara mi prueba de descanso. Mi WebTestClientno puede alcanzar el servidor. Yo probé una gran cantidad (por ejemplo, a partir de aquí ) para burlarse o desactivar la seguridad y aún así obtener 403 FORBIDDENla respuesta.

¿Tiene alguna pista de lo que puede estar mal?

Creo WebTestClientde la siguiente manera:

client = WebTestClient
  .bindToServer()
  .baseUrl("http://localhost:$port")
  .build()

También trató de excluir SecurityAutoConfiguration.class.

Maciej Murawski:

En algún lugar oscuro, en el fondo de la madriguera encontré esto:

@TestConfiguration
@Order(1)
public class SecurityConfiguration
  implements WebSecurityConfigurer<WebSecurity> {

  @Override
  public void init(WebSecurity builder) throws Exception {
    builder.ignoring().requestMatchers(
      new AntPathRequestMatcher("/**"));
  }

  @Override
  public void configure(WebSecurity builder) throws Exception {
  }

}

Rember para registrar la clase de @SpringBootTest, por ejemplo:

@SpringBootTest(
  classes = [SomeApplication, SecurityConfiguration],
  webEnvironment = RANDOM_PORT
)

No es deshabilitar la seguridad de primavera, pero hace que sea transparente.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=136912&siteId=1
Recomendado
Clasificación