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>这一段,如下:
210
添加:
allow
完成后
<
Security>...
Security>段的内容为:
allow
210
2、修改
$BI_HOME
/home/oraclebi/biee/Oracle_BI1/bifoundation/web/
appv2
/web.xml
这里注意一下:appv2,可能您的实际环境是app,目前我的版本是11.1.1.7,似乎11.1.1.6是app,具体原因也没深究了,只要路径对了就可以了。
添加以下内容:
Oracle.adf.view.rich.security.FRAME_BUSTING
修改完之后重启BI服务并清除浏览器缓存,若还是出现“
OBIEE content can not be displayed in the IFrame”
可能您是使用的方式2的集成 ,并且直接通过IP的方式而不是通过域名的方式来访问的,当您再次访问就OK了,这也就是我在开头提到的“二次登录的情况”,需要注意。
总结:通过IFrame方式集成biee,最好是通过做单点登录(SSO)的方式,安全性高;若无条件的话只能简单集成,需要注意被集成系统与BIEE服务器需要通过域名访问的方式进行交互。