bingo

The way to my programmer


最近在写一个springboot+springsecurity Demo,页面以iframe形式来加载页面。
然后浏览器就报错了。

Refused to display ‘http://localhost:8080/sys/user‘ in a frame because it set ‘X-Frame-Options’ to ‘deny’.
error.png

百度 “X-Frame-Options”看到一下内容,链接https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options

使用 X-Frame-Options

X-Frame-Options 有三个值:

DENY

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN

表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri

表示该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

链接中有解决方法,但是明显和我要的不一样。弄明白了X-Frame-Options 是什么意思,并且以前也没遇见这个问题,大概觉得问题可能是springsecurity拦截了。于是尝试寻找security的配置文件有没有类似方法,果然找到:

http.headers().frameOptions().sameOrigin();

问题解决。



jdbcTemplate update返回主健方法 springboot-jpa LazyInitializationException