Class ConfigSeguridad

java.lang.Object
com.gestorrh.api.config.ConfigSeguridad

@Configuration @EnableWebSecurity @EnableMethodSecurity public class ConfigSeguridad extends Object
Clase de configuración global de seguridad de Spring Security.

Define las políticas de acceso a los diferentes endpoints de la API, la gestión de sesiones (sin estado), el codificador de contraseñas y la integración del filtro personalizado para tokens JWT.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final FiltroJwt
    Filtro personalizado para la validación de tokens JWT.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.security.web.SecurityFilterChain
    cadenaFiltrosSeguridad(org.springframework.security.config.annotation.web.builders.HttpSecurity http)
    Configura la cadena de filtros de seguridad (Security Filter Chain).
    org.springframework.security.crypto.password.PasswordEncoder
    Define el bean para el codificador de contraseñas de la aplicación.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • filtroJwt

      private final FiltroJwt filtroJwt
      Filtro personalizado para la validación de tokens JWT.
  • Constructor Details

    • ConfigSeguridad

      public ConfigSeguridad()
  • Method Details

    • passwordCodificador

      @Bean public org.springframework.security.crypto.password.PasswordEncoder passwordCodificador()
      Define el bean para el codificador de contraseñas de la aplicación.

      Utiliza el algoritmo BCryptPasswordEncoder para realizar el hashing seguro de las contraseñas.

      Returns:
      Una instancia de PasswordEncoder.
    • cadenaFiltrosSeguridad

      @Bean public org.springframework.security.web.SecurityFilterChain cadenaFiltrosSeguridad(org.springframework.security.config.annotation.web.builders.HttpSecurity http) throws Exception
      Configura la cadena de filtros de seguridad (Security Filter Chain).

      Define las siguientes reglas:

      1. Deshabilitar CSRF al ser una API stateless.
      2. Política de creación de sesiones STATELESS (sin sesión en servidor).
      3. Permisos de acceso: rutas públicas para autenticación, registro y errores, el resto requiere autenticación.
      4. Añadir el filtro FiltroJwt antes del filtro estándar de autenticación de Spring.
      Parameters:
      http - El objeto HttpSecurity para configurar la seguridad web.
      Returns:
      La cadena de filtros configurada.
      Throws:
      Exception - Si ocurre algún error durante la configuración.