1

Spring Security OAuth2の使用方法を理解しようとしていますが、デフォルトのSpring Bootのアクチュエータのセキュリティを維持したままにしておきます。@EnableResourceServer私は依存関係のデフォルトバージョンでSpringブート1.5.1を使用しています。以下のように設定しましたSpring Security OAuth2とActuatorを使用したSpring Boot

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

私は他のセキュリティ設定を明示的に設定していません。私はと思ってアクチュエータのエンドポイントは適切に保護され続けていますが、私は401を取得しています。セキュリティデバッグログで確認すると、HTTP Basicに関して何も表示されません。私は何か間違っている?私は必要ないくつかの他の構成ですか?アクチュエータのエンドポイントにアクセスできるようにするには、この役割を保持する必要があり、このmanagement.security.roles=ROLE_SOMEROLENAMEユーザーのようなあなたは、アプリケーションのプロパティに管理役割を追加する必要が

@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

あなたは何をリクエストしていますか? – farrellmr

答えて

0

Idは、このような何かを期待しています。このプロパティを使用してアクチュエータエンドポイントのパスを設定することもできます。management.context-path=/myactuator

+0

私は少なくとも、アクチュエータのセキュリティを明示的に設定する必要はないと思っていました(私はすべてがその下にあります)。問題は、アクチュエータのセキュリティが、アクチュエータのエンドポイントごとに異なる設定になっていることです。例えば、 '/ health'エンドポイントは公開されていますが、'/metrics'はそうではありません。 –

関連する問題