获得spring-security背后的springfox swagger-ui

我将在
Spring Boot(1.4.2v)中使用带有swagger-ui的springfox(2.6.1v).

它的配置看起来:

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

最佳答案 好的,首先我找到了解决方案
here以下行:

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

但是仍然没有用,因为我已经问了这个问题.但经过深入调查后发现,春狐不支持GSON.当您使用GSON作为“to json”转换器时,swagger-ui会收到略微不同的JSON格式,导致问题…

当我们将转换器更改为Jackson并将上述路径添加到spring-config时,它可以毫无问题地工作.

我甚至要求spring-fox github here上的新功能.

点赞