Dalam proyek Spring Boot saya, saya membuat kelas SwaggerConfig seperti ini:

 @Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.basePackage("com.springbootinfluxdb.api.controller"))
                .paths(PathSelectors.any()).build();
    }

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

}

Dan application.properties adalah:

### DATABASE ###
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:postgresql://localhost:5433/test
spring.datasource.username=postgres
spring.datasource.password=postgres

server.port: 8088

Ketika saya mencoba mengakses Swagger, melalui alamat "localhost: 8088 / swagger-ui.html # /" muncul antarmuka login berikut:

enter image description here

Tetapi saya tidak memiliki kredensial login. Mungkin, saya bisa menggunakan kata sandi yang muncul di log konsol keluaran Eclipse setiap kali mereka menjalankan proyek.

Bagaimana saya bisa memecahkan masalah?? Tolong bantu aku

0
guidop21 10 Mei 2021, 19:36

1 menjawab

Jawaban Terbaik

Tambahkan kode ini ke kelas konfigurasi keamanan Anda:

@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/v2/api-docs", "/swagger-ui.html");
    }

}
0
Van Dung Nguyen 10 Mei 2021, 17:05