2016-09-30 5 views
0

Je suis nouveau à la mise en œuvre de CAS et j'ai quelques problèmes pour le configurer pour utiliser LDAP. Actuellement, il retourne l'erreurLe préfixe "ldaptive" pour l'élément n'est pas lié

Le préfixe "ldaptive" pour l'élément "ldaptive: ad-authenticator" n'est pas lié.

au démarrage.

Comme vu dans mon code, je crois que j'ai implémenté ce qui était proposé comme un correctif here mais cela n'a pas résolu le problème.

Le code pour le deployerConfigContext.xml est la suivante:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:c="http://www.springframework.org/schema/c" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xmlns:util="http://www.springframework.org/schema/util" 
     xmlns:sec="http://www.springframework.org/schema/security" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.ldaptive.org/schema/spring-ext 
     http://www.ldaptive.org/schema/spring-ext-1.1.0.xsd 
     http://www.ldaptive.org/schema/spring-ext.xsd"> 


    <util:map id="authenticationHandlersResolvers"> 
     <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" /> 
     <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" /> 
     <entry key-ref="ldapAuthenticationHandler" value="#{null}" /> 
    </util:map> 


    <util:list id="authenticationMetadataPopulators"> 
     <ref bean="successfulHandlerMetaDataPopulator" /> 
     <ref bean="rememberMeAuthenticationMetaDataPopulator" /> 
    </util:list> 


    <bean id="attributeRepository" class="org.jasig.services.persondir.support.NamedStubPersonAttributeDao" 
      p:backingMap-ref="attrRepoBackingMap" /> 


    <alias name="acceptUsersAuthenticationHandler" alias="primaryAuthenticationHandler" /> 
    <alias name="personDirectoryPrincipalResolver" alias="primaryPrincipalResolver" /> 


    <util:map id="attrRepoBackingMap"> 
     <entry key="uid" value="uid" /> 
     <entry key="eduPersonAffiliation" value="eduPersonAffiliation" /> 
     <entry key="groupMembership" value="groupMembership" /> 
     <entry> 
      <key><value>memberOf</value></key> 
      <list> 
       <value>faculty</value> 
       <value>staff</value> 
       <value>org</value> 
      </list> 
     </entry> 
    </util:map> 


    <bean id="ldapAuthenticationHandler" 
     class="org.jasig.cas.authentication.LdapAuthenticationHandler" 
     p:principalIdAttribute="sAMAccountName" 
     c:authenticator-ref="authenticator"> 
     <property name="principalAttributeMap"> 
      <map> 
       <entry key="displayName" value="name" /> 
       <entry key="mail" value="email" /> 
       <entry key="memberOf" value="membership" /> 
      </map> 
     </property> 
    </bean> 


    <alias name="serviceThemeResolver" alias="themeResolver" /> 


    <alias name="jsonServiceRegistryDao" alias="serviceRegistryDao" /> 


    <alias name="defaultTicketRegistry" alias="ticketRegistry" /> 


    <alias name="ticketGrantingTicketExpirationPolicy" alias="grantingTicketExpirationPolicy" /> 
    <alias name="multiTimeUseOrTimeoutExpirationPolicy" alias="serviceTicketExpirationPolicy" /> 


    <alias name="anyAuthenticationPolicy" alias="authenticationPolicy" /> 
    <alias name="acceptAnyAuthenticationPolicyFactory" alias="authenticationPolicyFactory" /> 


    <bean id="auditTrailManager" 
      class="org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager" 
      p:entrySeparator="${cas.audit.singleline.separator:|}" 
      p:useSingleLine="${cas.audit.singleline:false}"/> 


    <alias name="neverThrottle" alias="authenticationThrottle" /> 


    <util:list id="monitorsList"> 
     <ref bean="memoryMonitor" /> 
     <ref bean="sessionMonitor" /> 
    </util:list> 


    <ldaptive:ad-authenticator id="authenticator" 
     ldapUrl="${ldap.url}" 
     userFilter="${ldap.authn.searchFilter}" 
     bindDn="${ldap.managerDn}" 
     bindCredential="${ldap.managerPassword}" 
     allowMultipleDns="${ldap.allowMultipleDns:false}" 
     connectTimeout="${ldap.connectTimeout}" 
     validateOnCheckOut="${ldap.pool.validateOnCheckout}" 
     failFastInitialize="true" 
     blockWaitTime="${ldap.pool.blockWaitTime}" 
     idleTime="${ldap.pool.idleTime}" 
     baseDn="${ldap.baseDn}" 
     maxPoolSize="${ldap.pool.maxSize}" 
     minPoolSize="${ldap.pool.minSize}" 
     validatePeriodically="${ldap.pool.validatePeriodically}" 
     validatePeriod="${ldap.pool.validatePeriod}" 
     prunePeriod="${ldap.pool.prunePeriod}" 
     useSSL="${ldap.use.ssl:false}" 
     subtreeSearch="${ldap.subtree.search:true}" 
     useStartTLS="${ldap.useStartTLS}" /> 


    <alias name="defaultPrincipalFactory" alias="principalFactory" /> 
    <alias name="defaultAuthenticationTransactionManager" alias="authenticationTransactionManager" /> 
    <alias name="defaultPrincipalElectionStrategy" alias="principalElectionStrategy" /> 
    <alias name="tgcCipherExecutor" alias="defaultCookieCipherExecutor" /> 
</beans> 

La page où le préfixe ldaptive vient semble accueillir plus et j'ai pu trouver où je devrais tirais de ce.

Toute aide serait appréciée.

Répondre

1

Ajouter

xmlns:ldaptive="http://www.ldaptive.org/schema/spring-ext" 

à votre élément racine beans pour éliminer votre erreur.

Notez également que @xsi:schemaLocation devrait prendre l'espace de noms XSD paires, et il semble que vous avez un nombre impair d'entrées dans le vôtre. Utilisez cette paire pour l'espace de noms associé au préfixe d'espace de noms adaptive::

http://www.ldaptive.org/schema/spring-ext 
http://www.ldaptive.org/schema/spring-ext-1.2.0.xsd 
+0

Cela a fonctionné, même si je reçois une nouvelle erreur de 'Le caractère générique correspondant est stricte, mais aucune déclaration ne peut être trouvé pour l'élément « ldaptive: ad -authenticator'' –

+0

S'il vous plaît poser une nouvelle question, en étant sûr d'inclure un [mcve]. Merci. – kjhughes

+0

@JustinFoley Avez-vous trouvé la cause de l'erreur 'matching wildcard is strict'? Je viens de rencontrer la même erreur. – acvcu