in a frame because it set 'X-Frame-Options' to 'deny'.

本文记录了一次解决X-Frame-Options导致的文件导出问题的过程,尝试了多种方法如修改前端配置、控制层设置响应头及调整SpringSecurity配置,最终通过设置特定路径权限成功解决。

该问题是做文件导出的时候遇到的。
1.在前端加

<security:http auto-config="true" use-expressions="true">
    <security:headers>
        <security:frame-options policy="SAMEORIGIN"/>
    </security:headers>

无效。

2.控制层加

  response.setHeader("X-Frame-Options", "SAMEORIGIN");// 解决IFrame拒绝的问题

依旧无效。

3.此时了解了百度了解了X-Frame-Options的三种状态

 X-Frame-Options 有三个值:
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。

3.检查springmvc中的spring Security配置。
如下:
在这里插入图片描述在加入.and().headers().frameOptions().disable()后依旧报错。

4.突然想起导出时,应该有导出路径,而Security配置的页面路径权限并没有开放。
因此
在这里插入图片描述
设置路径权限,解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值