seguridad de autenticación springcloud

seguridad de autenticación springcloud

Artículo anterior: clúster de servidores eureka
Artículo siguiente: Use Feign para implementar llamadas REST declarativas
para agregar autenticación de usuario a Eureka Server En el ejemplo anterior, Eureka Server permite el acceso anónimo Puede acceder al componente de descubrimiento de servicios sin una contraseña. Inicie sesión, dubbo todavía necesita una contraseña, esta no es necesaria, ¿se siente inseguro? Aprenda hoy a agregar seguridad de autenticación a los componentes del servicio

autenticación del servidor eureka

1 pom.xml
Agregue la dependencia de spring-boot-starter-security al pom.xml en el proyecto del componente de servicio, lo que proporciona la capacidad de autenticación de usuario para Eureka Server.

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

2Agregue el siguiente contenido en application.yml:

spring:
  security:
    user:
      name: root
      password: root

Esto agrega autenticación básica HTTP a Eureka Server. Si este contenido no está configurado, la cuenta predeterminada es usuario y la contraseña es un valor aleatorio, que se imprimirá al inicio.
3 Cree una clase de archivo de configuración y habilite la función de autenticación

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
    
    
        http.csrf().disable(); //关闭csrf
        super.configure(http); //开启认证
    }
}

4 Registre el microservicio en el servidor Eureka que requiere autenticación

defaultZone: http://root:root@localhost:8761/eureka/

Finalmente, el contenido de application.yml es el siguiente:

# 指定该Eureka实例的端口
# enableSelfPreservation是否启动自我保护机制
#server:
#  port: 8761
#  enableSelfPreservation: true
#eureka:
#  client:
#    service-url:
#      defaultZone: http://localhost:8761/eureka/
#    register-with-eureka: false
#    fetch-registry: false

spring:
  application:
    name: discovery-eureka
  profiles:
    active: peer2


---
spring:
  profiles: peer1
  security:
    user:
      name: root
      password: root
server:
  port: 8761
eureka:
  client:
    registry-fetch-interval-seconds: 30
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://root:root@peer2:8762/eureka/
---
spring:
  profiles: peer2
  security:
    user:
      name: root
      password: root
server:
  port: 8762
eureka:
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://root:root@peer1:8761/eureka/

Configuración en proyectos de proveedores y consumidores

Los archivos de configuración en el proyecto del proveedor y el proyecto del consumidor también deben agregar información de configuración relevante

eureka:
  client:
    service-url:
      defaultZone: http://root:root@peer1:8761/eureka/,http://root:root@peer2:8762/eureka/
  instance:
    prefer-ip-address: true

De esta forma, los consumidores y los servidores pueden registrarse en el componente de servicio.

prueba

El último artículo ya lo ha presentado en detalle, así que no voy a molestar.
Visite el componente de servicio nuevamente: http: // peer2: 8762
le pedirá que ingrese el nombre de usuario y la contraseña como se muestra en la figura siguiente:
Inserte la descripción de la imagen aquí
Si no lo configura en el archivo de configuración del proyecto del componente de servicio como se muestra en la figura:
Inserte la descripción de la imagen aquí
entonces la contraseña es la contraseña generada aleatoriamente cuando lo inicia
Inserte la descripción de la imagen aquí
Si está configurado, es la contraseña en su archivo de configuración

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Esta seguridad de autenticación está configurada

Supongo que te gusta

Origin blog.csdn.net/qq_39095899/article/details/107459286
Recomendado
Clasificación