Как получить безопасный доступ к конечным точкам чванства? - PullRequest
1 голос
/ 14 июня 2019

Я добавил swagger ui в свое приложение, ранее ниже двух URL, к которым я мог получить прямой доступ без какой-либо аутентификации.

     http://localhost:1510/swagger-ui.html
     http://localhost:1510/v2/api-docs

Мне нужны безопасные URL-адреса Swagger, не хочу, чтобы кто-либо непосредственно видел подробности API моего приложения.

Примечание: - В целях аутентификации я использую JWT с пружинной защитой в моем приложении.

ТАК, чтобы обезопасить URL-адреса, я сделал запись в конфигурации весенней безопасности .. ниже кода

       @Override
       protected void configure(HttpSecurity http) throws Exception {
    http
        .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
        .exceptionHandling()
        .authenticationEntryPoint(problemSupport)
        .accessDeniedHandler(problemSupport)
    .and()
        .csrf()
        .disable()
        .headers()
        .frameOptions()
        .disable()
    .and()
        .sessionManagement()
        .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
    .and()
        .authorizeRequests()
        .antMatchers("/api/register").permitAll()
        .antMatchers("/api/activate").permitAll()
        .antMatchers("/api/userLogin").permitAll()           
        .antMatchers("/v2/api-docs").hasAuthority(AuthoritiesConstants.ADMIN)
        .antMatchers("/swagger-ui.html").hasAuthority(AuthoritiesConstants.ADMIN)          
    .and()
        .apply(securityConfigurerAdapter());

}

и когда я пытаюсь получить доступ к ссылкам, я получаю исключение в браузере, а также на консоли затмения.

 org.springframework.security.authentication.InsufficientAuthenticationException: Full authentication is required to access this resource

Как я могу передать токен jwt, чтобы увидеть страницу чванства?

...