最近开坑一个个人Web相册系统, 引入 Spring Security 主要目的是做用户登录认证,附带得到 Spring Security 各种特性, 自然会有有一个后端的管理功能,这儿我是用的免费的xAdmin后台管理模板.但是在引入Security后iframe无法展开,页面单独可以正常展开! 先使用Html方式解决!

错误提示

X-Frame-Options may only be set via an HTTP header sent along with a document. It may not be set inside <meta>.

解释

(没成功,成功就见鬼了)
<meta http-equiv="X-Frame-Options" content="标头">

X-Frame-Options 是一个 HTTP 标头(header),用来告诉浏览器这个网页是否可以放在 iFrame 内。例如:

  1. 第一个例子告诉浏览器不要(DENY)把这个网页放在 iFrame 内,通常的目的就是要帮助用户对抗点击劫持。

  2. 第二个例子告诉浏览器只有当架设 iFrame 的网站与发出 X-Frame-Options 的网站相同,才能显示发出 X-Frame-Options 网页的内容。

  3. 第三个例子告诉浏览器这个网页只能放在 https://jiangdalong.com.com// 网页架设的 iFrame 内。

不指定 X-Frame-Options 的网页等同表示它可以放在任何 iFrame 内。

X-Frame-Options 可以保障你的网页不会被放在恶意网站设定的 iFrame 内,令用户成为点击劫持的受害人。

后来查询了一番是安全框架导致的问题, 我们需要编写一个配置类去解决一下这个问题.继承 WebSecurityConfigurerAdapter, 并且实现configure(HttpSecurity http)接口, 配置方案如下:

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

问题解决! 😊

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

脸朝大海, 春暖花开 ----江大脸