在Spring Boot中更改单个控制器的x-frame-options标头

问题描述 投票:0回答:1

想象一下,你有一个spring boot应用程序,你只想创建一个可以作为iFrame嵌入的页面。所有其他页面仍应具有默认的x-frame-options: deny标头。

  • 我找不到相应的注释(我期望类似于@CrossOrigin注释,但是标题的通用)
  • 我试图通过httpServletResponse更改标题,但似乎安全标题后来被覆盖
  • 我试图使用http.antmatcher("/controller").frameOptions().disable()但这打破了我的其余身份验证 - 我想念一个.allow(domain)方法

我知道我可以创建一些过滤器代码,但我希望有一个更简单的解决方案。

有任何想法吗?

spring spring-boot spring-security x-frame-options
1个回答
1
投票

要仅为特定控制器允许iframe选项而不允许所有网站使用iframe选项,这是我的方法:

 @RequestMapping("/someiframepath")
    public String iframe(HttpServletResponse response, Model model) {
        response.setHeader("X-Frame-Options", "");
        .... DO SOMETHING ....
        return "your view";
    }

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.