2016-09-30 2 views
0

Я новичок в реализации CAS, и у меня есть некоторые проблемы, связанные с его настройкой на использование LDAP. В настоящее время он возвращает ошибкуПрефикс «ldaptive» для элемента не связан

Префикс «ldaptive» для элемента «ldaptive: ad-authenticator» не связан.

при запуске.

Как видно из моего кода, я считаю, что я реализовал то, что было предложено в качестве исправления here, но это не исправить проблему.

Код для deployerConfigContext.xml выглядит следующим образом:

<?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> 

страница, где ldaptive приставка происходит от, кажется, больше его размещения, и я не смог найти, где я должен вытягивать это из.

Любая помощь будет оценена по достоинству.

ответ

1

Добавить

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

к вашему beans корневого элемента, чтобы устранить вашу ошибку.

Следует также отметить, что @xsi:schemaLocation следует принимать пространство имен XSD пары, и, похоже, у вас есть нечетное число записей в вашей. Используйте эту пару для пространства имен, связанных с adaptive: префиксом пространства имен:

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

Это работало, хотя я получаю новую ошибку 'Совпадение подстановочное является строгим, но никакого объявления не может быть найдено для элемента«ldaptive: объявления -authenticator'' –

+0

Пожалуйста, задайте новый вопрос, обязательно включив [mcve]. Благодарю. – kjhughes

+0

@JustinFoley Вы выяснили причину ошибки «подстановочные знаки»? Я просто нахожу эту ошибку. – acvcu

Смежные вопросы