BIEE 11G和CAS集成零代码编写,只需配置。

更改BIEE analytics应用的web.xml

将analytics.war解包(使用7-zip或者Win-rar就可以),然后修改WEB-INF下的web.xml

注:analytics.ear可以从$MV_HOME/Oracle_BI1/bifoundation/jee下找到,将analytics.ear解压之后得到analytics.war和analytics-ws.war

修改过的web.xml,添加内容,如下:

<!-- ======================== 单点登录开始 ======================== --><!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置--><listener><listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class></listener><!-- 该过滤器负责用户的认证工作,必须启用它 --><filter><filter-name>CASFilter</filter-name><filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class><init-param><param-name>casServerLoginUrl</param-name><param-value>https://sso.aurora-framework.org:8081/cas/login</param-value><!--这里的server是服务端的IP--></init-param><init-param><param-name>serverName</param-name><param-value>http://sso.aurora-framework.org:9704</param-value></init-param></filter><filter-mapping><filter-name>CASFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 该过滤器负责对Ticket的校验工作,必须启用它 --><filter><filter-name>CAS Validation Filter</filter-name><filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class><init-param><param-name>casServerUrlPrefix</param-name><param-value>https://sso.aurora-framework.org:8081/cas</param-value></init-param><init-param><param-name>serverName</param-name><param-value>http://sso.aurora-framework.org:9704</param-value></init-param></filter><filter-mapping><filter-name>CAS Validation Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--该过滤器负责实现HttpServletRequest请求的包裹,比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。--><filter><filter-name>CAS HttpServletRequest Wrapper Filter</filter-name><filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class></filter><filter-mapping><filter-name>CAS HttpServletRequest Wrapper Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。比如AssertionHolder.getAssertion().getPrincipal().getName()。--><filter><filter-name>CAS Assertion Thread Local Filter</filter-name><filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class></filter><filter-mapping><filter-name>CAS Assertion Thread Local Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- ======================== 单点登录结束 ======================== -->

其中serverName是biee analytics的地址和端口,当前配置cas项目和biee在同一台机器上,所以用相同的,请更加项目实际情况,修改为biee实际部署的机器地址。

添加证书

Biee作为一个应用安装在weblogic服务器上,weblogic使用的jvm不一定是系统安装的,可以在这里(console->bifoundation->环境->服务器->bi_server1->密钥库)找到weblogic使用的jvm:

修改“java标准信任密钥库密码短语”,输入默认密码changeit。

并把上文中提到的aurora.crt文件导入到“java标准信任密钥库”指定的目录中,这里是“D:/BIEE11116/jrockit_160_24_D1.1.2-4/jre/lib/security/cacerts”。所以完整语句是:

keytool -import -keystore "D:/BIEE11116/jrockit_160_24_D1.1.2-4/jre/lib/security/cacerts" -file E:/tomcat/tomcat7/keystore/aurora.crt -alias aurora

注意:如果weblogic使用的jvm不是sun公司提供的,那么导入没有问题,在运行时,会报证书已经破损的错误。此时需要修改$MV_HOME\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd(这里是windows,如果是unix应该找到setDomainEnv.sh)文件,在末尾添加

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dfile.encoding=GBK -DUseSunHttpHandler=true 

修改完毕之后还需要将CAS client的jar包(如:cas-client-core-3.2.1.jar)到WEB-INF/lib

修改完毕之后,使用JDK自带的jar 进行重新打包,

例如:

jar -cf analytics.war .

然后在将analytics.war及analytics-ws.war以及之前同级目录下的META-INF文件夹一同打包成analytics.ear

例如:

jar -cf analytics.ear .

之后在到weblogic console中重新部署该应用,并启动。

在到em里对BI启用SSO

如下图所示:

激活更改,重启opmn所有组件就OK了。

访问BIEE

在浏览器中输入http://sso.aurora-framework.org:9704/analytics/saw.dll?bieehome。

自动跳转为

把biee页面作为iframe嵌入到java web项目页面中

默认情况下,出于安全的考虑,BIEE 11g是不能直接嵌入iframe中的,会提示“OBIEE content can not be displayed in the IFrame”。

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

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

    在Security标签内加入allow。

    如下图所示:

    <Security><InIFrameRenderingMode>allow</InIFrameRenderingMode><ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
    </Security>
    

    注:

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

    详情请

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

  2. 修改$MV_HOME/Oracle_BI1/bifoundation/web/app/WEB-INF 目录下的web.xml
    添加如下内容:

    oracle.adf.view.rich.security.FRAME_BUSTING
    never
    

    效果如下:

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

  3. 页面中嵌入BIEE

在页面中添加

<iframe id="biee" frameborder="no" width="1170" height="545" src="http://sso.aurora-framework.org:9704/analytics/saw.dll?bieehome" style="broder:none;margin:0;padding:0;" />

效果如下:

参考文章

http://blog.csdn.net/lele5000/article/details/7884268

http://blog.sina.com.cn/s/blog_6e7f1ab301015thf.html

CAS做单点登陆(SSO)——集成BIEE 11g相关推荐

  1. CAS解决单点登录SSO

    关于CAS很多的原理和基础的配置启动,网上是很多的,我更多是结合我的实践和心得.需要了解CAS的原理,认证协议,认证流程,可以参考以下文章. 让CAS支持客户端自定义登陆页面--客户端篇 CAS原理与 ...

  2. LoongSSO 大中型WEB系统单点登陆(SSO)整合利器

    LoongSSO 大中型WEB系统单点登陆(SSO)整合利器 2012-01-13 11:35:46 分类: 网络与安全 我们都知道网易.搜狐等大型门户都有"通行证"的概念,这个通 ...

  3. 单点登陆(SSO)组件的设计与实现一 【转】

    更新:新增登录流程图: [原创]单点登陆(SSO)组件的设计与实现二-登录流程图  先说几句废话,自我感觉此方案还不错,至少解决了安全性的问题,也实现了统一登出,能跨平台,跨服务期,跨域名,当然需要相 ...

  4. biee java_CAS做单点登陆(SSO)——集成BIEE 11g

    将analytics.war解包(使用7-zip或者Win-rar就可以),然后修改WEB-INF下的web.xml 注:analytics.ear可以从$MV_HOME/Oracle_BI1/bif ...

  5. cas java web,CAS干单点登陆(SSO)——集成Java Web 项目

    在应用WEB-INF/web.xml添加filter的内容,效果如下所示 org.jasig.cas.client.session.SingleSignOutHttpSessionListener C ...

  6. Spring Security、oauth2、单点登陆SSO的关系

    文章目录 概述 1. 什么是Spring Security 1.1 配置示例 1.2 spring security 基本原理 1.2 Spring Security存在的问题 2. 什么是oauth ...

  7. mysql sd5加密语句_CAS原理与配置-基于CAS的单点登陆的研究(上)

    1     前言 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任 ...

  8. cas服务端配置oracle,CAS搭建单点登陆服务端配置

    准备工具 1 cas-server-3.4.5-release.zip:http://downloads.jasig.org/cas/ CAS验证服务器配置 1 解压cas-server-3.4.5- ...

  9. 开源sso单点登陆系统推荐

    一.CAS   地址https://www.apereo.org/projects/cas CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协 ...

最新文章

  1. 一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单
  2. Javascript之学习笔记每日更新
  3. SyntaxError: Non-UTF-8 code starting with ‘\xe2‘ 今天是小白上线的一天
  4. 横琴今年建物联网基础设施
  5. NOSQL schema创建原则
  6. python制作一个简易计算器_最简易的python计算器实现源代码
  7. 人力资源管理案例选读【1】
  8. 【网络技术联盟站】瑞哥教你如何使用 Console 接口管理设备
  9. 数据加工(一)-------数据抽取
  10. 消防信号总线原理_消防报警联动系统中,什么叫回路总线什么叫RS-485总线?
  11. IDR:通过迭代数据细化的自我监督图像去噪
  12. 选择器:id与name
  13. Chatbot 架构
  14. nop sled 空操作雪橇
  15. HDFS的滚动升级: Rolling Upgrade
  16. Ansys Zemax | 多边形扫描仪设计示例
  17. 查找——图文翔解Treap(树堆)
  18. 用python爬取豆瓣《教父》影评等信息
  19. 名编辑电子杂志大师教程 | 主题模板设置
  20. 直播、视频会议、屏幕共享—RTC实时音视频各大平台如何选择

热门文章

  1. Xamarin 学习笔记 - 配置环境(Windows iOS)
  2. 微服务后如何做一次系统梳理
  3. 【C/C++学院】0831-类与对象的异常/面试100题1-100
  4. MySQL:安装和基于SSL加密的主从复制(基于5.7)
  5. [SPOJ705]不同的子串
  6. iOS-SDPhotoBrowser
  7. SQLite入门与分析(二)---设计与概念
  8. 解决注册并发问题并提高QPS
  9. SOFAMosn配置模型
  10. 爱上MVC~为Html.EditorForModel自定义模版