问题描述
最近,我正在将Pentaho BA(BI服务器)7 CE与Cas服务器集成在一起。我会跟进Pentaho的官方文档。
,但不幸的是它不起作用!实际上,很难找到文档中的第5节。我必须在配置中设置 casAuthenticationProvider.MemoryUserDetailsService 的地方?我从引擎中得到的只是一个错误,该错误表明找不到 CasAuthenticationProvider 类。我添加了所有必需的JAR。错误是:
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/000but 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
推荐答案
我找到了一个线索,但仍然无法解决问题。
I found a clue, but I still can't make it work.
您应该下载3.0.x版本的spring-securiry-cas-client,而不是2.0.5作为pentaho文档中的指南。
You should download a 3.0.x version of spring-securiry-cas-client, instead of 2.0.5 as the guide in pentaho documentation.
我正在测试版本3.0.8。
I am testing with version 3.0.8.
开始似乎可以解决我们的错误,但是当我尝试登录pentaho时,请不要重定向到CAS并收到此错误:
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.
请注意:
我终于做出了可以使用以下指令:
I finally make it work with this instructions:
-
使用:
在文件pentaho-spring-beans.xml中注释掉以下行:
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 />
因为默认情况下pentaho 7.0使用的是jackrabbit。
Because pentaho 7.0 is using jackrabbit by default.
- 我没有这样做Pentaho文档的第5和第8页。
现在,应用程序重定向到CAS,但是现在我在证书方面遇到了一些问题,但这完全不同关于这个问题。我正在研究将CAS证书导入应用程序信任库的问题。
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.
最后的提示:
我解决了证书问题,现在我拥有CAS的Pentaho 7 CE
FINAL NOTE:I solved my certificate issue and now I have Pentaho 7 CE with CAS.
这篇关于将Pentaho BA 7社区版与CAS集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!