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 居然默认埋了这个坑。。。坑死我了

时间: 2024-10-12 04:26:05

saiku - 配置spring-security 允许 iframe加载saiku首页的相关文章

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

Spring中资源的加载ResourceLoader

Spring中资源的加载是定义在ResourceLoader接口中的,它跟前面提到的抽象资源的关系如下: ResourceLoader的源码 [java] view plain copy public interface ResourceLoader { /** Pseudo URL prefix for loading from the class path: "classpath:" */ String CLASSPATH_URL_PREFIX = ResourceUtils.CL

javscript 实现iframe加载内容页出现LOADING效果

<div id="load" align="center"> <img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" /> loading </div> <!-- 首先放一个div,用做loading效果 --> <iframe id="demo" src="http://www.**

转:iframe加载的子页面里面获取父级元素窗口以及元素的高度

iframe里的js要操作父级窗口的dom,必须搞懂几个对象: parent是父窗口(如果窗口是顶级窗口,那么parent==self==top) top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe) self是当前窗口(等价window) 父级页面:index.html <!doctype html> <html> <head> <meta charset="utf-8"> <title>父窗口<

配置Spring Security 错误:Property or field &#39;ROLE_USER&#39; cannot be found

在学习http://www.mkyong.com/spring-security/spring-security-hello-world-example/时,出现以下错误: Property or field 'ROLE_USER' cannot be found on object of type 'org.springframework.security.web.access.expression. 经查发现把 <security:http auto-config="true"

基于javaConfig和注解配置Spring Security

Spring Security 借助一系列Servlet Filter 来提供安全性功能,但是借助Spring的小技巧,我们只需要配置一个Filer就可以了,DelegatingFilterProxy是一个特殊的Servlet Filter,它本身所做的工作并不多,只是将工作委托给一个javax.servlet.Filter 的实现类,这个实现类作为一个bean注册再Spring应用的上下文中. 如果了解过用xml配置spring security的朋友就知道,用基于xml配置Spring Se

判断iframe加载完成、用于当ifame加载完成时执行一些操作

window.frames["iframec"].addEventListener( "load", function(){ window.frames["iframec"].setFormValue(obj);//iframe加载完成时的操作 }); IE iframe.attachEvent("onreadystatechange", function(){ //此事件在内容没有被载入时候也会被触发,所以我们要判断状态 /

iframe 加载外部资源,显示隐藏loading,onload失效

在项目中使用iframe 来加载外部资源,需要在iframe请求外部资源的时候,需要显示一个loading,在加载完成后,将这个loading隐藏掉,刚开始看到W3C中 iframe有一个 onload事件----该事件在iframe加载资源完成后就会触发,但是这个事件我试了试,发现触发不了,最在https://stackoverflow.com/questions/20572734/load-event-not-firing-when-iframe-is-loaded-in-chrome找到了

iframe加载onload之坑

需求:点击按钮,下载一个文件,由于种种原因,需要借助iframe实现. 实现:点击按钮往页面上append一个iframe,将iframe的src设置为文件的url路径,实现下载.如果url不对或文件下载失败,提示下载失败. 畅想:iframe.onload=function(){ //下载成功:}      iframe.onerror = function(){ //下载失败 } 问题:想的挺好,可惜浏览器有意见.经测试,火狐及chorme都不支持onerror事件,而且,不管iframe加