春ブーツ1.5.2.RELEASE
とJava 8を春のセキュリティのOAuth2実装
を使用して、私はWebSecurityConfigurerAdapter
のとResourceServerConfigurerAdapter
のpublic void configure(HttpSecurity http)
方法で何が起こって、理解しようとしていますか?
configure(HttpSecurity http)
メソッドResourceServerConfigurerAdapter
がWebSecurityConfigurerAdapter
よりも優先されます。 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();
}
}