У меня есть webapp (myApp - разработан с SpringBoot и VAADIN). Webapp будет развернут на сервере tomcats http://tomcatserver:8080/myApp.Content-Security-Policy для webapp в iFrame
Теперь я хотел бы показать webapp в.
Одно требование заключается в том, что IFRAME должен работать только для белого списка доменов, которые реализуют IFRAME. У меня есть веб-сервер http://myWebserver:8081, который имеет index.html внутри IFRAME.
веб-приложение генерирует следующее в WebSecurityConfigureAdapter Весны:
http.csrf().disable(); // Requirement: DTEUTARIF-111
http.headers()
.frameOptions().disable()
.and()
.headers().contentTypeOptions()
.and()
.xssProtection()
.and()
.httpStrictTransportSecurity()
.and()
.addHeaderWriter(
new StaticHeadersWriter(
"Content-Security-Policy",
"default-src 'self';" +
"child-src 'self' http://myWebserver:8081;" +
"script-src 'self' http://myWebserver:8081;" +
"style-src 'self' http://myWebserver:8081;" +
"connect-src 'self' http://myWebserver:8081;" +
"font-src 'self' http://myWebserver:8081;" +
"object-src 'self' http://myWebserver:8081;"
)
);
Но я всегда
angular.js:3543 Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' http://myWebserver:8081". Either the 'unsafe-inline' keyword, a hash ('sha256-1PxuDsPyGK6n+LZsMv0gG4lMX3i3XigG6h0CzPIjwrE='), or a nonce ('nonce-...') is required to enable inline execution.
И то же самое для 'сценария-Src'.
Я не знаю на 100%, но когда я добавить 'unsafe-inline'
к скрипт-Src и стиль-Src IFRAME открыта для каждого домена.
Что я не так? Все равно возможно?