[saiku] 配置spring-security 允许 iframe加载saiku首页

 

最近提出了一个需求:在一个iframe中展现saiku首页

呵呵,这还不简单。

直接<iframe src="http://localhost:8080/saiku" /> 套进去不就完事了吗。。我真是个天才。。

 

 

结果:呜呜。。。报错啦。。。

错误提示:Refused to display 'http://localhost:8080/saiku/' in a frame because it set 'X-Frame-Options' to 'DENY'.

 

header里面有一个属性 "X-Frame-Options"  被默认设置成了 "DENY"

 

好吧,找找看是哪里的问题,找了半天找不见啊。。。

今天来PM说是因为:

Spring-Security 默认是设置了这个 "X-Frame-Options" 属性为DENY,在配置文件里更改下配置就好了

<security:http>
    <security:headers>
        <security:frame-options policy="SAMEORIGIN"/>
    </security:headers>
</security:http>

 

 

policy 取值说明

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。 换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

 

这样一来,果然可以了呢。。。

by the way ,spring security 居然默认埋了这个坑。。。坑死我了

 

posted @ 2015-10-26 17:22  Aviva_ye  阅读(1190)  评论(0编辑  收藏  举报