BIEE 11g 嵌入Iframe

来源:互联网 发布:Ad手机后期软件 编辑:程序博客网 时间:2024/05/22 04:55


在做BIEE与其它系统集成的时候,经常需要把BIEE的页面用Iframe嵌入其它系统中(比如业务系统),在接合SSO,那么用户就可以直接在业务系统中查看BI报表而无需

二次登录了。

 

默认情况下,出于安全的考虑(clickjacking),BIEE 11g是不能直接嵌入iframe中的,

会提示“OBIEE content can not be displayed in the IFrame”

 

如果有这方面的需要,我们需要进行如下配置:

修改MV_HOME/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1目录下的instanceconfig.xml

在Security标签内加入<InIFrameRenderingMode>allow</InIFrameRenderingMode>

如下图所示:

 

 <Security><InIFrameRenderingMode>allow</InIFrameRenderingMode><!--This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control--><ClientSessionExpireMinutes>30</ClientSessionExpireMinutes></Security>

 

注:InIFrameRenderingMode有三种取值,分别是prohibit、sameDomainOnly、allow  大家可以根据自己的实际需要选择对应的值

详情请参阅B.1.1 Protecting Pages in Oracle BI EE from Attack

 

修改MV_HOME/Oracle_BI1/bifoundation/web/app/WEB-INF 目录下的web.xml

添加如下内容:

<context-param>
  <param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
  <param-value>never</param-value>
</context-param>

 

 

最终如下图所示:

   <servlet-mapping>      <servlet-name>RelatedContent</servlet-name>      <url-pattern>/RelatedContent</url-pattern>   </servlet-mapping><context-param>  <param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>  <param-value>never</param-value></context-param>   <login-config>    <auth-method>CLIENT-CERT</auth-method>   </login-config>


 

修改完之后重启BI服务即可,如果还不行,请清除浏览器缓存。