integration Pentaho BA 7 community edition with CAS

时光总嘲笑我的痴心妄想 提交于 2019-12-08 06:47:55

问题


Recently I am working to integrate Pentaho BA (BI server) 7 CE with Cas server . I follow up Pentaho official documentation . https://help.pentaho.com/Documentation/5.1/0P0/150/010/060/000 but unfortunately it doesn't work!! Actually it's kind of hard to find about section 5 in documentation . where I have to set casAuthenticationProvider.MemoryUserDetailsService in my configuration ? And all i've get from the engine is the error which says it couldn't found CasAuthenticationProvider class . I added all the necessary JARs . The error is :

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

回答1:


I found a clue, but I still can't make it work.

You should download a 3.0.x version of spring-securiry-cas-client, instead of 2.0.5 as the guide in pentaho documentation.

I am testing with version 3.0.8.

The start seems to be ok withour errors, but when i try to login pentaho don't redirect to CAS and i get this error:

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.

Note Added:

I finally make it work with this instructions:

  1. Using: 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. Into the file pentaho-spring-beans.xml comment out the lines:

    <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" />

Because pentaho 7.0 is using jackrabbit by default.

  1. I dind't do the item 5 and 8 of Pentaho documentation.

Now the application redirect to CAS, but now I have some problems with the certificates but that's totally different to the matter of this question. I am working on my problem to import CAS certificate to application truststore.

FINAL NOTE: I solved my certificate issue and now I have Pentaho 7 CE with CAS.



来源:https://stackoverflow.com/questions/41600674/integration-pentaho-ba-7-community-edition-with-cas

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!