将 Pentaho BA 7 社区版与 CAS 集成
Posted
技术标签:
【中文标题】将 Pentaho BA 7 社区版与 CAS 集成【英文标题】:integration Pentaho BA 7 community edition with CAS 【发布时间】:2017-05-26 19:44:05 【问题描述】:最近我正在努力将 Pentaho BA (BI server) 7 CE 与 Cas server 集成。我跟进 Pentaho 官方文档。 https://help.pentaho.com/Documentation/5.1/0P0/150/010/060/000 但不幸的是它不起作用!实际上,在文档中很难找到第 5 节。我必须在哪里设置 casAuthenticationProvider.MemoryUserDetailsService 在我的配置中?我从引擎得到的只是错误,它说它找不到 CasAuthenticationProvider 类。我添加了所有必要的 JAR。错误是:
Cannot find class for publish type: INTERFACES specified on publish of bean id: casAuthenticationProvider
【问题讨论】:
【参考方案1】:我找到了一个线索,但我仍然无法让它工作。
您应该下载 spring-securiry-cas-client 的 3.0.x 版本,而不是 2.0.5 作为 pentaho 文档中的指南。
我正在使用 3.0.8 版本进行测试。
开始似乎没有我们的错误,但是当我尝试登录 pentaho 时不要重定向到 CAS,我得到了这个错误:
16-Jan-2017 15:09:46.558 SEVERE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [pentaho] created a ThreadLocal with key of type [java.lang.InheritableThreadLocal] (value [java.lang.InheritableThreadLocal@218e39af]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@2b468485: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@2b468485: Principal: b653234b-34f4-4bff-ba21-01c1b884241f; Credentials: [PROTECTED]; Authenticated: false; Details: null; Not granted any authorities]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
补充说明:
我终于按照这个说明让它工作了:
使用:http://repo1.maven.org/maven2/org/springframework/security/spring-security-cas-client/3.0.8.RELEASE/spring-security-cas-client-3.0.8.RELEASE.jar
进入文件 pentaho-spring-beans.xml 注释掉以下行:
<import resource="applicationContext-spring-security-superuser.xml"/>
<import resource="applicationContext-pentaho-security-superuser.xml"/>
<import resource="applicationContext-spring-security-memory.xml" />
<import resource="applicationContext-pentaho-security-memory.xml" />
<import resource="applicationContext-spring-security-ldap.xml" />
<import resource="applicationContext-pentaho-security-ldap.xml" />
<import resource="applicationContext-pentaho-security-jdbc.xml" />
<import resource="applicationContext-spring-security-jdbc.xml" />
因为pentaho 7.0默认使用jackrabbit。
-
我不做 Pentaho 文档的第 5 和 8 项。
现在应用程序重定向到 CAS,但现在我的证书有一些问题,但这与这个问题的问题完全不同。我正在解决将 CAS 证书导入应用程序信任库的问题。
最后说明: 我解决了我的证书问题,现在我有了带有 CAS 的 Pentaho 7 CE。
【讨论】:
在我的情况下它不起作用,你能帮忙吗?如问题所述,我没有使用“CasAuthenticationProvider”设置任何内容。我将答案中提到的行注释掉了,仍然“没有运气”以上是关于将 Pentaho BA 7 社区版与 CAS 集成的主要内容,如果未能解决你的问题,请参考以下文章