2016-12-16 3 views
3

스프링 부트 (1.4.2v)에서 swagger-ui와 함께 springfox (2.6.1v)를 사용하려고합니다.스프링 보안 뒤에있는 springfox swagger-ui에 액세스 할 수 있습니다.

그것의 구성은 같습니다

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket api() { 
    return new Docket(DocumentationType.SWAGGER_2) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build() 
       .genericModelSubstitutes(ResponseEntity.class); 
    } 
} 

문제는 내 자신감 봄 보안 뒤에 있다는 것입니다 그리고 난 단지 관리자에 의해이 액세스를 허용해야합니다.

질문 Swagger-UI가 내 응용 프로그램 내에서 작동하도록하려면 일련의 일치가되어야합니까?

public class SecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
    http.authorizeRequests() 
     .antMatchers("??? <<<what_should_be_here>>> ???") // what should be here? 
     .hasRole("TENANT_ADMIN"); 
    } 
} 

답변

1

좋아 처음 내가 찾은 솔루션 here 그래서 다음과 같은 라인 : 여전히

.antMatchers("/admin/system/state/*", "/v2/api-docs", "/configuration/ui", "/swagger-resources", "/configuration/security", "/swagger-ui.html", "/webjars/**") 

그러나 STH이 작동하지 않았고 그 때문에 나는이 질문을했다. 그러나 심층 조사가 끝난 후 봄 여우는 GSON을 지원하지 않는다. GSON을 "to json"변환기로 사용하면 swagger-ui는 문제를 일으키는 JSON 형식을 조금씩받습니다.

변환기를 Jackson으로 변경하고 위의 경로를 spring-config에 추가하면 문제없이 작동합니다.

나는 스프링 - 여우 github here에 새로운 기능을 요청했습니다.