BIEE 11g 嵌入Iframe

浏览: 2757

在做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服务即可,如果还不行,请清除浏览器缓存。

推荐 0
本文由 风在身后 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册