使用iframe报错X-Frame-options Deny

今天在easyui中使用iframe的时候,报错:X-Frame-options to Deny。而且iframe访问的网址是同域的,还不存在跨域的问题。都是localhost。

仔细搜索了一番(面向搜索编程),发现是spring security设置了这个响应头。所以我们可以改掉它,允许同域访问。

添加代码如下:
http.headers().frameOptions().sameOrigin();

解释下frameopthons的几个参数意思:

  • DENY – is a default value. With this the page cannot be displayed in a frame, regardless of the site attempting to do so.(禁止网页现在到iframe中)
  • SAMEORIGIN – I assume this is what you are looking for, so that the page will be (and can be) displayed in a frame on the same origin as the page itself(同域页面可以显示在iframe中)
  • ALLOW-FROM – Allows you to specify an origin, where the page can be displayed in a frame.(制定可以显示在iframe中的来源域)

参考资料:
1、https://stackoverflow.com/questions/28647136/how-to-disable-x-frame-options-response-header-in-spring-security
2、https://stackoverflow.com/questions/42196013/spring-security-x-frame-deny

发表评论

电子邮件地址不会被公开。 必填项已用*标注