Spring Security: Permitir solicitudes desde un nombre de host específico.
Mientras que las direcciones IP específicas pueden ser permitidas para un antMatcher dado usando
Configuración de Seguridad
class WebSecurityConfig se extiende de WebSecurityConfigurerAdapter {
@Sobreponer
protegido void configurar (HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers ("/**").hasIpAddress ("127.0.0.1")
.anyRequest ().permitAll ()
}
}
No puedo encontrar una manera de agregar a la lista blanca los nombres de host como “localhost”. ¿Existe alguna forma de permitir un nombre de dominio en lugar de una dirección IP dada?
davy.ai
Sí, es posible agregar a lista blanca nombres de host en lugar de direcciones IP en el antMatcher de una configuración HttpSecurity en Spring Security. En lugar de usar el método hasIpAddress, que sólo toma direcciones IP como argumentos, puede utilizar los métodos hasIpAddress o hasHost en conjunto con los métodos permitAll o denyAll.
Aquí hay un ejemplo de cómo puede agregar a lista blanca el nombre de host “localhost” usando hasIpAddress o hasHost:
Alternativamente, puede crear una implementación personalizada de DomainNameResolver que mapea cadenas de nombre de host a direcciones IP y utilizar la dirección IP resultante en el antMatcher junto con otras direcciones IP, de esta manera:
En este ejemplo,
customResolver
es una referencia a su implementación personalizada de DomainNameResolver.