1

Ich versuche herauszufinden, wie Spring Security OAuth2 @EnableResourceServer zu verwenden, während die Standard-Spring-Boot-Aktuator-Sicherheit unberührt bleibt. Ich verwende Spring Boot 1.5.1 mit den Standardversionen der Abhängigkeiten. Ich habe folgendes konfiguriertSpring Boot mit Spring Security OAuth2 und Aktor

@Configuration 
@EnableResourceServer 
@EnableWebSecurity(debug=true) 
@EnableGlobalMethodSecurity 
public class OAuthConfig extends ResourceServerConfigurerAdapter { 

    @Override 
    public void configure(final HttpSecurity http) throws Exception { 
     http 
     .authorizeRequests() 
     .antMatchers(HttpMethod.OPTIONS, "/**").permitAll() 
     .mvcMatchers("/resource/{type}").permitAll() 
     .antMatchers("/resource/data/**").authenticated(); 
    } 
} 

Ich bin nicht explizit konfigurieren Sie eine der anderen Sicherheitseinstellungen. I dachte die Aktuator Endpunkte würde weiterhin angemessen gesichert werden, aber ich bekomme 401 und beim Überprüfen mit der Sicherheit Debug-Protokoll zeigt es nichts in Bezug auf HTTP Basic. Irgendwas, was ich falsch mache? einige andere Konfiguration, die ich brauche?

+0

Welche URL möchten Sie? Ich würde erwarten .antMatchers ("/ /**"). permitAll() – farrellmr

Antwort

0

Id so etwas wie dies erwartet -

@Override 
public void configure(final HttpSecurity http) throws Exception { 
    http 
    .authorizeRequests() 
    .antMatchers(HttpMethod.OPTIONS, "/**").permitAll() 
    .antMatchers("/health/**").permitAll() 
    .mvcMatchers("/resource/{type}").permitAll() 
    .antMatchers("/resource/data/**") 
    .anyRequest().authenticated(); 
} 
+0

Ich hoffte zumindest, dass ich nicht explizit die Sicherheit für den Aktuator einrichten muss (ich habe das alles unter/über). Das Problem ist, dass die Aktuatorsicherheit unterschiedlich pro Aktuatorendpunkt eingestellt wird. Zum Beispiel ist der '/ health'-Endpunkt öffentlich verfügbar, aber'/metrics' ist nicht vorhanden und ich möchte (falls möglich) nicht alle diese Sicherheitskonfigurationen erneut durchführen. –

0

Sie müssen Anwendungseigenschaften die Management-Rollen, so etwas wie diese management.security.roles=ROLE_SOMEROLENAME Ihre Benutzer hinzufügen soll diese Rolle halten zu können, die Aktuator-Endpunkte zugreifen. Sie können den Pfad für den Endpunkt des Aktors auch mit dieser Eigenschaft festlegen: management.context-path=/myactuator

Verwandte Themen