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();
}
}