Мне нужно включить X-Frame-Options: SAMEORIGIN
в моем весеннем MVC проекте, чтобы вернуть этот параметр в заголовок ответа http. Проект развернут на Apache Tomcat 9.
Вот моя конфигурация веб-безопасности
@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers().frameOptions().sameOrigin();
}
}
Вот как я инициализирую сервлет диспетчера
public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{AppConfig.class, WebSecurityConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
В весенней безопасности В документации (https://docs.spring.io/spring-security/site/docs/5.3.1.RELEASE/reference/html5/#headers) упоминается, что
Spring Security предоставляет набор заголовков ответов HTTP по умолчанию для обеспечения безопасности по умолчанию.
Но я не вижу никакого заголовка безопасности в заголовке ответа, похоже, что Spring Spring не включена в моем проекте.
![enter image description here](https://i.stack.imgur.com/Q6uyU.png)
Если я добавлю опция заголовка вручную в методе класса @Controller работает
@Controller
public class WController {
@GetMapping("/hello")
public String sayHello(HttpServletResponse response, Model model) {
response.setHeader("X-Frame-Options", "SAMEORIGIN");
return "htmlPageTemplate";
}
}
![enter image description here](https://i.stack.imgur.com/dNyjN.png)
Пожалуйста, проверьте, что я сделал не так. Как правильно исправить и включить веб-безопасность?