Seleccionar página

Cómo proteger tus endpoints en Spring Boot con Spring Security (Guía paso a paso)

 

Cómo proteger tus endpoints en Spring Boot con Spring Security (Guía paso a paso)

Introducción

Spring Boot es potente, pero si no proteges correctamente tus endpoints, cualquier usuario podría acceder a recursos sensibles. En este tutorial aprenderás cómo usar Spring Security para proteger tus rutas, definir roles y crear autenticación básica con las mejores prácticas del 2025.

1. Agrega la dependencia de Spring Security


<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Con esta dependencia, tu aplicación incluirá por defecto mecanismos de seguridad que bloquearán el acceso a todos los endpoints hasta que los configures.

2. Crea una clase de configuración personalizada


@Configuration
@EnableWebSecurity
public class SecurityConfig {

  @Bean
  public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
      http
          .csrf(csrf -> csrf.disable())
          .authorizeHttpRequests(auth -> auth
              .requestMatchers("/api/public/**").permitAll()
              .anyRequest().authenticated()
          )
          .httpBasic(Customizer.withDefaults());
      return http.build();
  }
}

Este código desactiva CSRF (para simplificar en entornos de prueba), permite el acceso libre a rutas públicas y protege el resto con autenticación básica.

3. Define un usuario en memoria para pruebas


@Bean
public UserDetailsService users() {
    UserDetails user = User.builder()
        .username("admin")
        .password("{noop}1234")
        .roles("ADMIN")
        .build();
    return new InMemoryUserDetailsManager(user);
}

Esto te permite probar rápidamente el login sin necesidad de una base de datos. En producción, puedes integrar con tu tabla de usuarios.

4. Prueba tu configuración

Inicia tu aplicación y prueba acceder a tus endpoints:

  • /api/public/hello → accesible sin autenticación
  • /api/private/data → requiere usuario y contraseña

Verás que Spring Security intercepta automáticamente las solicitudes protegidas.

Conclusión

Con solo unas pocas líneas de código, has protegido tus endpoints de manera profesional. A partir de aquí puedes implementar autenticación con JWT, OAuth2 o integración con bases de datos. En Pulsosoft seguimos las mejores prácticas para que tus APIs sean seguras y escalables.

🔐 ¿Te gustaría aprender a implementar JWT con Spring Security?
👉 Sigue leyendo en Pulsosoft y domina la seguridad backend paso a paso.

Escrito por Giovanny Benitez

Más de esta categoría

0 Comentarios

0 comentarios

Enviar un comentario

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