如何在Spring Security中禁用“X-Frame-Options”响应标头?

我的jsp上有CKeditor,每当我上传一些东西时,都会弹出以下错误:

 Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'.

我尝试过删除Spring Security,一切都像一个魅力。如何在春季安全xml文件中禁用此功能?我应该在标签之间写些什么<http>


答案 1

如果您使用的是 Java 配置而不是 XML 配置,请将以下内容放在您的方法中:WebSecurityConfigurerAdapter.configure(HttpSecurity http)

http.headers().frameOptions().disable();

答案 2

默认情况下设置为拒绝,以防止点击劫持攻击。要覆盖它,您可以将以下内容添加到您的spring安全配置中X-Frame-Options

<http>    
    <headers>
        <frame-options policy="SAMEORIGIN"/>
    </headers>
</http>

以下是可用的策略选项

  • DENY - 是默认值。这样,页面就无法显示在框架中,无论尝试这样做的网站如何。
  • SAMEORIGIN - 我假设这就是您要查找的内容,以便页面将(并且可以)显示在与页面本身相同的原点的框架中
  • ALLOW-FROM - 允许您指定一个原点,页面可以在框架中显示。

有关更多信息,请查看此处

在这里检查如何使用XML或Java配置来配置标头。

请注意,您可能还需要根据需要指定适当的 。。strategy


推荐