wake-up-neo.com

Nicht autorisiert in Spring Boot Admin

Ich wollte die Microservices kontrollieren, die auf dem Eureka-Server laufen. Ich habe Spring-Boot-Admin dafür verwendet, aber ich bekomme den Fehler beim Zugriff auf die Informationen zu Trace, Log usw.

Der Fehler, den ich bekomme, ist 

Fehler: {"Zeitstempel": 1489052472862, "Status": 401, "Fehler": "Nicht autorisiert", "Nachricht": "Für den Zugriff auf diese Ressource ist vollständige Authentifizierung erforderlich.", "Pfad": "/ Metrics"}

Meine Abhängigkeiten sind

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server</artifactId>
        <version>1.4.3</version>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui</artifactId>
        <version>1.4.3</version>
    </dependency>

und keine der unten aufgeführten Eigenschaften funktionierte

endpoints.info.id=information
endpoints.info.sensitive=false
endpoints.info.enabled=true
information.app.name=Actuator Example
information.app.description=Actuator Example
information.app.version=1.0.0

und dasselbe geschieht mit allen Endpunkten wie Zuordnungen, env und alle akzeptieren Gesundheit

12
Gireesh Bhat

Durch Festlegen von management.security.enabled=false in application.properties wird die Sicherheit der Endpunkte deaktiviert.

37
joshiste

Ich hatte ein ähnliches Problem. In meiner Spring-Boot-Anwendung hatten wir einen Cors-Filter, um HTTP-Kopf-Anfragen zu blockieren. Kopfanfragen können daher nicht akzeptiert werden. 

  • Überprüfen Sie das JavaScript-Konsolenprotokoll und das Anwendungsprotokoll.

  • Einstellung management.security.enabled = false in application.properties ist ebenfalls erforderlich.

0

Ich bin der Meinung, dass das Deaktivieren der Sicherheit für alle sensiblen Endpunkte nicht der richtige Weg ist.

Ich hatte dieses Problem beim Zugriff auf /metrics und anscheinend , mir fehlte die spring-boot-starter-security-Abhängigkeit:

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

Nach dem Hinzufügen der Abhängigkeit zu meinem pom.xml und unter der Annahme, dass ich Folgendes auf meinem application.yml habe

...
security:
    user:
        name: myActuatorUser
        password: myActuatorPwd
...

Ich konnte auf meinen /metrics-Endpunkt zugreifen.

0
aribeiro

Es ist besser, die Sicherheit anhand der Anmeldeinformationen username und password für die meisten der hier aufgeführten Endpunkte einzurichten: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints html

Ausnahmen von der Regel sind health und info Endpunkte, die nicht durch Berechtigungsnachweise geschützt werden.

Sie können username und password in application.properties so einstellen:

security.user.name=admin
security.user.password=secret
0
yami