У меня есть приложение Spring Boot. Я также использую Spring Security и Thymeleaf. \ У меня есть фрагмент кода, где я беру вам видео из трубки и применяю его в своем шаблоне thymeleaf. Если я открываю инструменты разработчика в браузере (любом), я получаю сообщение об ошибке:
Доступ к XMLHttpRequest по адресу https://googleads.g.doubleclick.net/pagead/id 'origin' https://www.youtube.com 'был заблокирован политикой CORS: значение заголовка «Access-Control-Allow-Origin» в ответе не должно быть подстановочным знаком «*», если режим учетных данных запроса «включить». Режим учетных данных запросов, инициированных XMLHttpRequest, контролируется атрибутом withCredentials.
Если я удалю часть кода с You Tube, ошибки в видео исчезнут.
Как устранить эту ошибку?
Spring Security Config:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**").authenticated()
.antMatchers("/**").permitAll()
.and().exceptionHandling().accessDeniedPage("/handlers/access-denied.html")
.and().csrf().disable();
}
@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers(
// статика
"/css/**",
"/js/**",
"/fonts/**",
"../libs/**",
"/images/**"
);
}
}
Шаблон:
<div class="video-container">
<div class="video-item" th:each="video : ${videos}">
<iframe th:src="${video.url}"
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
<h3 th:text="${video.title}"></h3>
</div>
</div>