2017-03-15 9 views
2

春ブーツ1.5.2.RELEASEとJava 8を春のセキュリティのOAuth2実装

を使用して、私はWebSecurityConfigurerAdapterのとResourceServerConfigurerAdapterpublic void configure(HttpSecurity http)方法で何が起こって、理解しようとしていますか?

configure(HttpSecurity http)メソッドResourceServerConfigurerAdapterWebSecurityConfigurerAdapterよりも優先されます。 ResourceServerConfigurationで行っているすべての変更が有効になり、WebSecurityConfigurerAdapterは完全に無視されているようです。

これらの方法(ユースケース)を使用する場合は、 - そして、WebSecurityConfigurerAdapter.configure(..)メソッドのオーバーライドも、私はのOAuth2リソースフィルタのデフォルトの順序はSecurityProperties.ACCESS_OVERRIDE_ORDERに3から変更された403 Access Denied

を得続けるこのプロパティがなければsecurity.oauth2.resource.filter-order = 3 を使用許可タイプのためpassword

を必要とします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(); 
    } 
} 

リソースサーバ

@Configuration 
@EnableResourceServer 
protected static class ResourceServerConfiguration extends 
     ResourceServerConfigurerAdapter { 

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

答えて

関連する問題