Итак, поскольку я работаю над весенней безопасностью, я установил для headers.frameOptions значение DENY, когда я пытаюсь это сделать, поместив свою внутреннюю конечную точку в iframe, который является localhost: 8080 здесь, все работает отлично, вещь то есть, когда я помещаю внешний интерфейс localhost: 3000 в iframe, ничего не происходит, и приложение отображается в iframe. я думаю, что конфигурация заголовков, которую я делаю, применяется только к API, а не в начале приложения
при старте приложения как видите конфигурации нет : X-Frame-Options: DENY Здесь после отправки API
вот функция
@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers()
.httpStrictTransportSecurity()
.maxAgeInSeconds(31536000)
.includeSubDomains(true);
http.headers()
.contentTypeOptions();
http.cors().and()
.headers()
.xssProtection()
.and()
.contentSecurityPolicy("script-src 'self'")
.and()
.httpStrictTransportSecurity().includeSubDomains(true).maxAgeInSeconds(31536000)
.and()
.contentSecurityPolicy("frame-ancestors 'none'")
.and()
.frameOptions()
.deny()
.and()
.csrf()
.disable()
.formLogin().defaultSuccessUrl("/swagger-ui.html", true).and()
.authorizeRequests().antMatchers(AUTH_LIST).authenticated()
.antMatchers("/actuator/**").access("hasAnyRole('ADMIN') and hasIpAddress('127.0.0.1')")
.anyRequest().permitAll()
.and().httpBasic();
}
Я, наконец, решил эту проблему, настроив файл веб-интерфейса web.xml, следуя этому если вы используете nginx в качестве сервера, вы можете добавить:
Заголовок всегда устанавливает X-Frame-Options "SAMEORIGIN"
если вы используете любой другой сервер, вы можете проверить mdn,
в заключение, если вы работаете над приложением с полным стеком, вам необходимо настроить файл конфигурации сервера, иначе безопасность spring не помешает вам взломать клики.