安全扫描:通用信息泄漏【未授权访问ip:端口号/swagger-ui.html】
步骤一:配置启用变量【开发环境可用+生产环境不可用】
application-dev.yml:
swagger:enable: true
application-pro.yml:
swagger:enable: false
步骤二:根据配置变量控制是否启用swagger【主要.enable(enableSwagger)】
@Configuration
@EnableSwagger2
public class Swagger2 {@Value("${swagger.enable}")private boolean enableSwagger;//配置开发环境可用,正式环境不可用@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(this.apiInfo()).enable(enableSwagger).select().apis(RequestHandlerSelectors.basePackage("xxx.xxx.xxx")).paths(PathSelectors.any()).build().globalOperationParameters(setHeaderToken());}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("xxxxx").description("xxxxxxx").termsOfServiceUrl("http://xxx.xxx.xxx").version("1.0").build();}private List<Parameter> setHeaderToken() {ParameterBuilder tokenPar = new ParameterBuilder();List<Parameter> pars = new ArrayList<>();tokenPar.name("token").description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();pars.add(tokenPar.build());return pars;}
}
参考:https://www.cnblogs.com/woshimrf/p/disable-swagger.html