스프링 부트 OAuth2의 @EnableResourceServer
을 사용하는 방법을 알아 내려고하고 있지만, 기본 스프링 부트의 액추에이터 보안은 그대로 둡니다. 나는 스프링 부트 1.5.1을 의존성의 기본 버전과 함께 사용하고있다. 다음과 같이 구성했습니다.스프링 보안 OAuth2와 액츄에이터로 스프링 부트
@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();
}
}
다른 보안 설정을 명시 적으로 구성하지 않았습니다. I 액추에이터 엔드 포인트는 적절하게 보안이 유지되지만 401이 표시되고 보안 디버그 로그로 확인하면 HTTP 기본과 관련하여 아무 것도 표시되지 않습니다. 내가 뭐 잘못하고 있는거야? 다른 구성이 필요합니까? 액츄에이터 엔드 포인트에 액세스 할 수 있도록이 역할을 보유해야이 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();
}
요청한 URL은 무엇입니까? – farrellmr