因为一行代码折腾了一下午


自闭了,一行代码就可以解决的问题,我折腾了一下午

最近有点闲(这一切要从一只蝙蝠说起......),打算把之前的几个接近“烂尾”的项目完善一下,所谓开发一时爽,维护火葬场,于是我重构了整个项目,在用基于layui的laymini做后台管理页时,登录跳转到首页等一切正常,就是出来ifarme死活加载不出来内容,如下图:
TIM截图20200205175127.png

请求被拒绝了,安全框架我用的是Spring Security,显然是安全框架导致的问题,但整个目录都开放访问,跨域也允许了,但还是没有用,于是开始了近乎一下午的折腾,最后,一行代码解决了问题。

Spring Security的X-Frame-Options默认为DENY,此时浏览器拒绝当前页面加载任何frame页面。

所有设置含义如下:

DENY:浏览器拒绝当前页面加载任何frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址。

所以在Config类中设置一下就可以了。

protected void configure(HttpSecurity http) throws Exception {
     http.headers().frameOptions().disable();

     // 其他代码


}

没错,就是

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

这一行,我折腾了一下午,自闭ing......

声明:楓の街|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 因为一行代码折腾了一下午


Just For Fun...