Sprung Boot-Management-Endpunkte grundlegende Sicherheit

8

Wie verwende ich grundlegende Sicherheit für Management-Endpunkte wie /env, /health, /metrics ? Ich möchte unterschiedliche Benutzeranmeldeinformationen für die oben genannten Endpunkte verwenden, verglichen mit den anderen Endpunkten der Anwendungscontroller-Sicherheit. In meiner Datei application.properties habe ich unten für die Sicherheit des Anwendungscontrollers angegeben

%Vor%

Aber ich möchte einen anderen Benutzernamen / Passwort für Management-Endpunkte. % Co_de% -Eigenschaft konnte nicht gefunden werden.

    
suman j 23.04.2014, 18:13
quelle

3 Antworten

2

Spring security hat eine "globale" AuthenticationManager konfiguriert in @Bean Instanzen des Typs GlobalAuthenticationConfigurerAdapter . Diese AuthenticationManager wird von den security.user.* -Eigenschaften konfiguriert, es sei denn, Sie haben security.basic.enabled=false festgelegt. Das globale AM wird standardmäßig auch an die Verwaltungsendpunkte angehängt. Es ist das übergeordnete Element eines "lokalen" AuthenticationManagers , das in WebSecurityConfigurationAdapters definiert ist (sie sind alle ProviderManagers ).

Wenn Sie also unterschiedliche Benutzerkonten für Verwaltungsendpunkte und Anwendungsendpunkte haben möchten, haben Sie (mindestens) zwei Möglichkeiten:

  • Definieren Sie eine lokale AM für Ihre Anwendungsendpunkte in WebSecurityConfigurationAdapter und stellen Sie sicher, dass die Verwaltungsendpunkte nicht von diesem Filter abgedeckt werden. Das ist einfach, denn es ist das, was du bekommst, ohne viel nachzudenken und einfach ein AuthenticationManagerBuilder zu deinem WebSecurityConfigurationAdapter hinzuzufügen (solange es sorgfältig in Bezug auf das Filter, der die Verwaltung Endpunkte sichert ).

  • Verwenden Sie die globale AM (oder eine andere lokale) für Anwendungsendpunkte und konfigurieren Sie die Sicherheit für die Verwaltungsendpunkte neu (z. B. security.basic.enabled=false festlegen und eigene WebSecurityConfigurerAdapter für die Verwaltungsendpunkte hinzufügen). Dies könnte mehr Arbeit sein und dupliziert einige der Boot-Standardeinstellungen, aber zumindest weißt du, was du bekommst.

Dave Syer 23.04.2014 21:06
quelle
2

Um die grundlegende Sicherheit der Endpunkte zu implementieren, müssen Sie den folgenden Code verwenden

%Vor%

und in der Konfigurationsdatei sollte wie folgt sein

%Vor%

funktioniert immer noch nicht, dann hoffe, das wird funktionieren

Standardauthentifizierung

    
jeet singh parmar 21.04.2017 12:08
quelle
1

Dave hat das bereits gut erklärt, aber hier ein komplettes Beispiel mit WebSecurityConfigurerAdapter und Datenbank als Auth-Quelle.

SecurityConfig.java

%Vor%

Und das ist meine application.properties

application.properties

%Vor%

Sie können weitere Eigenschaften von Endpunkten in Eigenschaften einer Federanwendung überprüfen

Beispiel für eine Verwaltungsanfrage

Es ist ADMIN Role Benutzer (Benutzername: admin, Passwort: Passwort) bereits in der Datenbank hinzugefügt.

  • Die Beispielmanagementanforderung zum Herunterfahren

    %Vor%
  • Die Beispielmanagementanforderung zum Überprüfen von HeapMemoryUsage und ThreadCount über jolokia

    %Vor%
  • Die Beispielmanagementanforderung zum Überprüfen des Status

    %Vor%
Steve Park 06.10.2015 23:38
quelle

Tags und Links