与CAS合并Pentaho BA 7社区版

时间:2017-01-11 21:05:35

标签: java spring-security pentaho cas

最近我正在努力将Pentaho BA(BI服务器)7 CE与Cas服务器集成。我跟进Pentaho官方文档。 https://help.pentaho.com/Documentation/5.1/0P0/150/010/060/000 但不幸的是它不起作用!!实际上,在文档中很难找到关于第5节的内容。我必须在配置中设置 casAuthenticationProvider.MemoryUserDetailsS​​ervice ?我从引擎中得到的所有错误都表明它无法找到 CasAuthenticationProvider 类。我添加了所有必要的JAR。错误是:

Cannot find class for publish type: INTERFACES specified on publish of   bean id: casAuthenticationProvider

1 个答案:

答案 0 :(得分:0)

我找到了一条线索,但我仍然无法使其发挥作用。

你应该下载一个3.0.x版本的spring-securiry-cas-client,而不是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.

注意已添加:

我终于按照这个说明工作了:

  1. 使用: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

  2. 在文件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" />

  3. 因为pentaho 7.0默认使用长耳兔。

    1. 我没有做Pentaho文档的第5和第8项。
    2. 现在应用程序重定向到CAS,但现在我对证书有一些问题,但这与这个问题的问题完全不同。我正在努力将CAS证书导入应用程序信任库。

      最后注意: 我解决了我的证书问题,现在我有了CAS的Pentaho 7 CE。