第三方系统通过IFrame的方式访问BIEE报表

BIEE开发的报表经常会与现有系统集成 ,通常可以用iframe的方式嵌入到需要集成的系统,在这里有两种方式可以集成

1,通过SSO,将BI与业务集成做单点登录,可以参考类似“BI
与CAS的文章”,这类文章很多。这种方式的安全性比较好。

2,直接在集成的URL中带上NQUser、NQPassword在没有安全性要求不高的情况下是最简单经济的一种方式,需要注意的是需要集成的系统与BI在同一个域中,不然会出现二次登录的情况

默认情况下BIEE不能直接使用iframe
,需要修改一些配置来达成我们的目的,步骤如下:

1、修改$BI_HOME/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1/目录下的instanceconfig.xml

找到<Security>...</Security>这一段,如下:

<Security>

<!--This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware
Control-->

<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>

</Security>

添加:

<InIFrameRenderingMode>allow</InIFrameRenderingMode>

完成后<Security>...</Security>段的内容为:

<Security>

<!--This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control-->

<InIFrameRenderingMode>allow</InIFrameRenderingMode>

<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>

</Security>

2、修改$BI_HOME/home/oraclebi/biee/Oracle_BI1/bifoundation/web/appv2/web.xml

这里注意一下:appv2,可能您的实际环境是app,目前我的版本是11.1.1.7,似乎11.1.1.6是app,具体原因也没深究了,只要路径对了就可以了。

添加以下内容:

<context-param>

  <param-name>Oracle.adf.view.rich.security.FRAME_BUSTING</param-name>

<param-value>never</param-value>

</context-param>

修改完之后重启BI服务并清除浏览器缓存,若还是出现“OBIEE content can not be displayed in the IFrame”

可能您是使用的方式2的集成 ,并且直接通过IP的方式而不是通过域名的方式来访问的,当您再次访问就OK了,这也就是我在开头提到的“二次登录的情况”,需要注意。

总结:通过IFrame方式集成biee,最好是通过做单点登录(SSO)的方式,安全性高;若无条件的话只能简单集成,需要注意被集成系统与BIEE服务器需要通过域名访问的方式进行交互。

时间: 2024-11-05 17:29:56

第三方系统通过IFrame的方式访问BIEE报表的相关文章

VMware10中的Linux系统利用NAT网络连接方式访问外网配置

一.描述 在VMware10中 提供常见的三种网络连接方式 : 1.Bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,与linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力. 在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了我们真实物理网卡所在的网络上,相当于虚拟机和真实主机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.使用这种方式很简单,前提是你有1个以上的IP地址,这个不太适合使用. 2.na

049医疗项目-模块五:权限设置-第三方系统的接入

我们先演示要实现的功能: 单击: 我们看着有三个子模块: 点击模块管理: 在模块管理中,我们可以设置一共有几个模块,每个模块里面有哪些具体的操作等. 角色管理: 给角色分配权限. 好,我们接下来看具体的实现: 我们先把第三方系统引入到工程中: import工程. 然后修改sysconfig,和sysmanager系统中的/WEB-INF/proxool.xml文件 接着 然后重启Tomcat. 然后修改代码: 我们增加下面连个Action层:其实我们的第三方系统的实现原理就是我们从自己的项目中的

第三方系统打开EAFC的实现

前言:EAFC是我们公司的一个框架,一个项目上,客户的OA系统要调用我们推送过去的代办任务,希望能打开我们的代办处理界面,我们的代办处理界面是winform的.引出给出了以下的一个方案.在此备存. -------------------------------------------------------- 第三方系统打开EAFC的实现 借助ClickOnce来实现第三方系统打开本地eafc客户端,而无论第三方系统是网页版还是桌面版(比如在oa中点击待办事项,打开审批界面). 一. 参数 打开

iframe跨域访问

js跨域是个讨论很多的话题.iframe跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容:如果支持contentDocument也可以直接document.getElementById("myframe&

salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce

本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_services/apex_integration_rest_callouts 有的时候我们需要在salesforce中引入外部的方法或者数据,这样就需要访问外部的Services,目前常用的访问方式有两种: 1.SOAP方式:Web Service通过XML方式调用SOAP Web服务器; 2.R

通过jQuery或ScriptManager以Ajax方式访问服务

1.客户端和服务端 服务端对外提供服务时,可以通过handler或者webservice.handler比较轻便,但是难以对外公开,只有程序员自己知道它到底做了些什么工作.webservice可以将服务对外公开,调用也方便,更加专业些.如果不是要公开的接口,handler完全可以胜任了.下面是将webservice发布的效果. 客户端在调用服务端的服务时,最简单的莫过于使用jQuery了.当然微软也提供了ScriptMananger来访问WebService.他们之间的关系可以用下图说明. 2.

ADO.NET 连接方式和非链接方式访问数据库

//连接方式访问数据库的主要步骤 1.创建连接对象(l链接字符串) 2.创建命令对象(设置Command对象的几个属性值) 3.打开连接 4.发送命令 5.处理数据 6.关闭连接 //非链接方式访问数据库 1/创建连接对象 2.创建数据适配器对象 3.打开连接 4.发送命令 5.关闭连接

Kylin如何进行JDBC方式访问或者调用

Kylin提供了标准的ODBC和JDBC接口,能够和传统BI工具进行很好的集成.分析师们可以用他们最熟悉的工具来享受Kylin带来的快速.我们也可以对它进行定制开发报表等,把kylin当做数据库服务器就行了. 首先我们来看一下连接Kylin的URL格式为: jdbc:kylin://<hostname>:<port>/<kylin_project_name> 注: 如果“ssl”为true话,那么上面的端口号应该为Kylin服务的HTTPS端口号. kylin_proj

js iframe跨域访问

1.同主域下不同子域之间的跨域请求  使用document.domain 比如:morningstar.com 和test.morningstar.com 只要把两个页面 的document.domain都指向主域就可以了,比如document.domain='morningstar.com' <!-- morningstar.com/parent.html --> <iframe id="ifr" src="http://test.morningstar.