2017-03-15 4 views
2

mit Spring-Boot 1.5.2.RELEASE und Java 8Frühling Sicherheit OAuth2 Implementierung

Ich versuche zu verstehen, was in public void configure(HttpSecurity http) Methode von WebSecurityConfigurerAdapter und von ResourceServerConfigurerAdapter geht?

Mit dem folgenden Code hat configure(HttpSecurity http) Methode von ResourceServerConfigurerAdapter Vorrang vor WebSecurityConfigurerAdapter. Alle Änderungen, die ich in ResourceServerConfiguration mache, werden wirksam, es scheint, dass WebSecurityConfigurerAdapter vollständig ignoriert wird.

Wenn wir diese Methoden verwenden (Anwendungsfall)? Und wird außer Kraft gesetzt WebSecurityConfigurerAdapter.configure(..) Verfahren auch auf Erteilung Typ erforderlich password

Mit security.oauth2.resource.filter-order = 3 Ohne diese Eigenschaft Ich erhalte 403 Access Denied

Die Standardreihenfolge der OAuth2 Ressourcenfilter von 3 bis SecurityProperties.ACCESS_OVERRIDE_ORDER geändert hat - 1

WebSecurityConfiguration

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { 

@Override 
public void configure(HttpSecurity http) throws Exception { 
    http.csrf().disable() 
    .authorizeRequests() 
    .antMatchers("/unsecured").permitAll() 
    .antMatchers("/users").hasRole("USER") 
    .antMatchers("/api/secured").hasRole("ADMIN") 
    .antMatchers("/api/admin").authenticated() 
    .antMatchers("/greeting").authenticated(); 
    } 
} 

Ressourcen Server

@Configuration 
@EnableResourceServer 
protected static class ResourceServerConfiguration extends 
     ResourceServerConfigurerAdapter { 

    public void configure(HttpSecurity http) throws Exception { 
     http.csrf().disable() 
      .authorizeRequests() 
       .anyRequest().permitAll();   
    } 
} 

Antwort

Verwandte Themen