1、问题概述?
在springBoot中使用了Layui框架的选项卡,但是今天引入了springSecurity权限框架后,登录成功,再次点击选项卡的时候出现了如下问题:
这是springSecurity5.7后引入的新安全策略,以保护网页不受点击劫持(clickjacking)攻击的影响.
问题1:localhost已拒绝访问
问题2:浏览器控制器出现如下bug
2、原因分析
这是springSecurity的一种安全策略,放置恶意注入,设置了 X-Frame-Options 只为deny,所以提示报错:Refused to display URL in a frame because it set X-Frame-Options to deny。
从浏览器的请求中可以看到参数设置:
X-Frame-Options选项设置如下几种情况:
1、DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
2、SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。
3、ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示(好像去除了)。
3、项目配置?
配置起来总体较为简单,在springSecurity配置如下信息:
【配置方式:较为简单,直接关闭这个安全策略】
http.headers().frameOptions().disable(); http.headers().frameOptions().sameOrigin(); http.headers().frameOptions().deny();