Более или менее эта страница имеет ответы, но все не в одном месте. Я занимался той же проблемой и потраченный вполне хорошее время на него. Теперь у меня есть лучшее понимание, и я хотел бы совместно использовать его здесь:
я Разрешающий Чванство ui с Spring websecurity:
, Если Вы включили Spring Websecurity по умолчанию, это заблокирует все запросы к Вашему приложению и возвращается 401. Однако для чванства ui для загрузки в браузере swagger-ui.html выполняет несколько вызовов для сбора данных. Лучший способ отладить, открывают swagger-ui.html в браузере (как Google Chrome) и используют опции разработчика (ключ 'F12'). Вы видите несколько вызовов, выполненных, когда страница загружается и если чванство-ui не загружается, полностью, вероятно, некоторые из них перестали работать.
Вы, возможно, должны сказать Spring websecurity игнорировать аутентификацию для нескольких шаблонов пути чванства. Я использую чванство-ui 2.9.2, и в моем случае ниже шаблоны, которые я должен был проигнорировать:
Однако, если Вы используете другую версию Ваш, мог бы измениться. Вам, вероятно, придется выяснить Ваш с опцией разработчика в Вашем браузере, как я сказал прежде.
@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/v2/api-docs", "/configuration/ui",
"/swagger-resources/**", "/configuration/**", "/swagger-ui.html"
, "/webjars/**", "/csrf", "/");
}
}
II чванства Включения ui с перехватчиком
Обычно Вы не можете хотеть прерывать запросы, которые выполнены swagger-ui.html. Исключить несколько шаблонов чванства ниже - код:
большая часть шаблона случаев для безопасности в Интернете и перехватчика будет тем же.
@Configuration
@EnableWebMvc
public class RetrieveCiamInterceptorConfiguration implements WebMvcConfigurer {
@Autowired
RetrieveInterceptor validationInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(validationInterceptor).addPathPatterns("/**")
.excludePathPatterns("/v2/api-docs", "/configuration/ui",
"/swagger-resources/**", "/configuration/**", "/swagger-ui.html"
, "/webjars/**", "/csrf", "/");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
, Так как Вам, вероятно, придется позволить @EnableWebMvc добавить перехватчики, которым Вам, вероятно, также придется добавить обработчики ресурсов для расхаживания подобные, я выполнил в вышеупомянутом фрагменте кода.