2017-03-31 11 views
0

pentaho 바이 서버 CE 버전 7을 SSO apereo CAS에 연결하려고합니다. 나는이 링크 integration Pentaho BA 7 community edition with CAS을 따라 아직도 그 링크에서 언급 다음과 같은 오류가 무엇입니까 통합 펜타 호 7 커뮤니티 에디션 (SSO CAS 포함)

: ApplicationContext를-보안 cas.xml 경우이 CAS와 첫 펜타 설치하기 때문에

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

을, 궁금 사용할 수있는 권리가 있으므로 누구나이 버전을 제공 할 수 있다면 감사하겠습니다. 사용

의 ApplicationContext - 보안 cas.xml : 당신의 빈 ID가 여전히 이전 스프링 프레임 워크 클래스를 가리키는 것처럼

<!-- ======================== FILTER CHAIN ======================= --> 

<!-- overridden from applicationContext-spring-security.xml to enable CAS --> 
    <bean id="filterChainProxy" class="org.springframework.security.util.FilterChainProxy"> 
    <property name="filterInvocationDefinitionSource"> 
     <!-- 
      You can safely remove the first pattern starting with /content/dashboards/print, if you're not using 
      Enterprise Dashboards or not allowing printing of Dashboards, 
     --> 
     <value> 
     <![CDATA[CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
     PATTERN_TYPE_APACHE_ANT 
     /api/repos/dashboards/print=securityContextHolderAwareRequestFilter,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,preAuthenticatedSecurityFilter,httpSessionReuseDetectionFilter,logoutFilter,casProcessingFilter,authenticationProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor 
     /webservices/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
     /api/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
     /plugin/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
     /**=securityContextHolderAwareRequestFilter,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,httpSessionReuseDetectionFilter,logoutFilter,casProcessingFilter,authenticationProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor]]> 
     </value> 
    </property> 
    </bean> 



    <!-- ======================== FILTER CHAIN WITH SIGNOUT ======================= --> 
<!-- 
    <bean id="filterChainProxy" 
     class="org.springframework.security.util.FilterChainProxy"> 
     <property name="filterInvocationDefinitionSource"> 
       <value> 
        <![CDATA[CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
        PATTERN_TYPE_APACHE_ANT 
        /**=securityContextHolderAwareRequestFilter,httpSessionContextIntegrationFilter,logoutFilter,casSingleSignOutFilter,casProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor]]> 
       </value> 
     </property> 
    </bean> 

      <bean id="filterChainProxy" class="org.springframework.security.util.FilterChainProxy"> 
     <property name="filterInvocationDefinitionSource"> 
      <!-- 
       You can safely remove the first pattern starting with /content/dashboards/print, if you're not using 
       Enterprise Dashboards or not allowing printing of Dashboards, 
      --> <!-- 
      <value> 
      <![CDATA[CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
      PATTERN_TYPE_APACHE_ANT 
      /api/repos/dashboards/print=securityContextHolderAwareRequestFilter,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,preAuthenticatedSecurityFilter,httpSessionReuseDetectionFilter,logoutFilter,casSingleSignOutFilter,casProcessingFilter,authenticationProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor 
      /webservices/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casSingleSignOutFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
      /api/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casSingleSignOutFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
      /plugin/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,casSingleSignOutFilter,casProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS 
      /**=securityContextHolderAwareRequestFilter,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,httpSessionReuseDetectionFilter,logoutFilter,casSingleSignOutFilter,casProcessingFilter,authenticationProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor]]> 
      </value> 
     </property> 
    </bean> 
    <bean id="casSingleSignOutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/> 
--> 

<!-- ===================== HTTP REQUEST SECURITY ==================== --> 

<bean id="serviceProperties" 
    class="org.springframework.security.ui.cas.ServiceProperties"> 
    <property name="service" 
     value="http://localhost:8080/pentaho/j_spring_cas_security_check" /> 
    <property name="sendRenew" value="false" /> 
</bean> 

<!-- replaces authenticationProcessingFilter in filterChainProxy above --> 
<bean id="casProcessingFilter" 
    class="org.springframework.security.ui.cas.CasProcessingFilter"> 
    <property name="authenticationManager"> 
     <ref bean="authenticationManager" /> 
    </property> 
    <property name="authenticationFailureUrl" value="/casFailed" /> 
    <property name="defaultTargetUrl" value="/" /> 
    <property name="filterProcessesUrl" 
     value="/j_spring_cas_security_check" /> 
</bean> 

<!-- overridden from applicationContext-spring-security.xml --> 
<bean id="exceptionTranslationFilter" 
    class="org.springframework.security.ui.ExceptionTranslationFilter"> 
    <property name="authenticationEntryPoint"> 
     <ref local="casProcessingFilterEntryPoint" /> 
    </property> 
    <property name="accessDeniedHandler"> 
     <bean class="org.springframework.security.ui.AccessDeniedHandlerImpl" /> 
    </property> 
</bean> 

<bean id="casProcessingFilterEntryPoint" class="org.springframework.security.ui.cas.CasProcessingFilterEntryPoint"> 
    <property name="loginUrl" 
     value="https://localhost:8443/cas/login" /> 
    <property name="serviceProperties"> 
     <ref local="serviceProperties" /> 
    </property> 
</bean> 
<bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager"> 
<property name="providers"> 
    <list> 
<ref bean="casAuthenticationProvider"/> 
<ref bean="anonymousAuthenticationProvider"/> 
</list> 
</property> 

<bean id="casAuthenticationProvider" 
    class="org.springframework.security.providers.cas.CasAuthenticationProvider"> 
    <property name="userDetailsService"> 
     <ref bean="userDetailsService" /> 
    </property> 
    <property name="serviceProperties"> 
     <ref local="serviceProperties" /> 
     </property> 
    <property name="ticketValidator"> 
     <ref local="ticketValidator" /> 
    </property> 
    <property name="key" 
     value="my_password_for_this_auth_provider_only" /> 
     <pen:publish as-type="INTERFACES"> 
     <pen:attributes> 
      <pen:attr key="providerName" value="cas"/> 
     </pen:attributes> 
     </pen:publish>   
</bean> 

<bean id="ticketValidator" 
    class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> 
<constructor-arg index="0" value="https://localhost:8443/cas" /> 
</bean> 

<!-- overridden from applicationContext-spring-security.xml to specify logoutSuccessUrl as CAS logout page --> 
<bean id="logoutFilter" 
    class="org.springframework.security.ui.logout.LogoutFilter"> 
    <constructor-arg 
     value="https://localhost:8443/cas/logout?url=http://localhost:8080/pentaho/index.jsp" /> 
    <!-- URL redirected to after logout --> 
    <constructor-arg> 
     <list> 
      <bean 
       class="org.pentaho.platform.web.http.security.PentahoLogoutHandler" /> 
      <bean 
       class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" /> 
     </list> 
    </constructor-arg> 
    <property name="filterProcessesUrl" value="/Logout" /> 
</bean> 

답변

0

것 같습니다.

변경하여 콩 ID = "으로 CasAuthenticationProvider"의 클래스 = 클래스를 가리켜 "org.springframework.security.cas.authentication.CasAuthenticationProvider"대신 클래스 = "org.springframework.security.providers.cas.CasAuthenticationProvider"

시도해보고 어떻게되는지 알려주세요.