blob: 781e42f22e4f6a4e0a75ad6e76e2160cfc406ca3 [file] [log] [blame] [edit]
<?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:ldaptive="http://www.ldaptive.org/schema/spring-ext"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.ldaptive.org/schema/spring-ext http://www.ldaptive.org/schema/spring-ext-${project.version}.xsd">
<context:property-placeholder location="classpath:/spring-ext.properties"/>
<ldaptive:anonymous-search-authenticator
ldapUrl="${ldap.url}"
trustCertificates="classpath:/ldaptive.trust.crt"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}"
/>
<ldaptive:bind-search-authenticator
ldapUrl="${ldap.url}"
trustStore="classpath:/ldaptive.truststore"
trustStorePassword="changeit"
trustStoreType="BKS"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
bindDn="${ldap.bindDn}"
bindCredential="${ldap.bindCredential}"
resolveEntryWithBindCredentials="true"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}">
<ldaptive:authentication-response-handler>
<ldaptive:password-policy-handler/>
</ldaptive:authentication-response-handler>
</ldaptive:bind-search-authenticator>
<ldaptive:bind-search-authenticator
id="bind-search-disable-pool"
ldapUrl="${ldap.url}"
trustStore="classpath:/ldaptive.truststore"
trustStorePassword="changeit"
trustStoreType="BKS"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
bindDn="${ldap.bindDn}"
bindCredential="${ldap.bindCredential}"
resolveEntryWithBindCredentials="true"
disablePooling="true"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}">
<ldaptive:authentication-response-handler>
<ldaptive:password-policy-handler/>
</ldaptive:authentication-response-handler>
</ldaptive:bind-search-authenticator>
<ldaptive:sasl-bind-search-authenticator
id="sasl-auth"
mechanism="${ldap.sasl.mechanism}"
qualityOfProtection="${ldap.sasl.qualityOfProtection}"
securityStrength="${ldap.sasl.securityStrength}"
ldapUrl="${ldap.url}"
trustCertificates="classpath:/ldaptive.trust.crt"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
bindDn="test3@vt.edu"
bindCredential="password"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
allowMultipleDns="${ldap.allowMultipleDns:false}"
minPoolSize="${ldap.pool.minSize}"
validateOnCheckOut="${ldap.pool.validateOnCheckout:false}"
validatePeriodically="${ldap.pool.validatePeriodically:true}"
validatePeriod="${ldap.pool.validatePeriod:PT5M}"
idleTime="${ldap.pool.idleTime:PT10M}"
prunePeriod="${ldap.pool.prunePeriod:PT5M}"
failFastInitialize="false"
subtreeSearch="${ldap.subtreeSearch:true}"
useSSL="false">
<ldaptive:authentication-response-handler>
<ldaptive:password-expiration-handler/>
</ldaptive:authentication-response-handler>
</ldaptive:sasl-bind-search-authenticator>
<ldaptive:direct-authenticator
ldapUrl="${ldap.url}"
trustCertificates="${ldap.trustCertificates}"
format="${ldap.dnFormat}"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}">
<ldaptive:authentication-response-handler>
<ldaptive:free-ipa-handler expirationPeriod="${ldap.auth.expirationPeriod}" warningPeriod="${ldap.auth.warningPeriod}" maxLoginFailures="4"/>
</ldaptive:authentication-response-handler>
</ldaptive:direct-authenticator>
<ldaptive:ad-authenticator
ldapUrl="${ldap.url}"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
bindDn="${ldap.bindDn}"
provider="org.ldaptive.provider.jndi.JndiProvider"
bindCredential="${ldap.bindCredential}"
trustCertificates="classpath:/ldaptive.trust.crt"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}">
<ldaptive:authentication-response-handler>
<ldaptive:active-directory-handler expirationPeriod="${ldap.auth.expirationPeriod}" warningPeriod="${ldap.auth.warningPeriod}"/>
</ldaptive:authentication-response-handler>
</ldaptive:ad-authenticator>
<ldaptive:pooled-connection-factory
ldapUrl="${ldap.url}"
trustStore="${ldap.trustStore}"
trustStoreType="${ldap.trustStoreType}"
keyStore="${ldap.keyStore}"
keyStoreType="${ldap.keyStoreType}"
keyStoreAliases="${ldap.keyStoreAliases}"
/>
<ldaptive:connection-factory
ldapUrl="${ldap.url}"
trustCertificates="classpath:/ldaptive.trust.crt"
/>
<ldaptive:connection-pool
ldapUrl="${ldap.url}"
trustCertificates="classpath:/ldaptive.trust.crt"
/>
<ldaptive:search-executor
baseDn="${ldap.baseDn}"
searchFilter="(mail=*)"
returnAttributes="cn,givenName,sn"
searchScope="${ldap.searchScope}"
timeLimit="${ldap.timeLimit}"
sizeLimit="${ldap.sizeLimit}"
binaryAttributes="jpegPhoto,userCertificate"
sortBehavior="${ldap.sortBehavior}"
/>
<ldaptive:parallel-search-executor
baseDn="${ldap.baseDn}"
searchFilter="(mail=*)"
returnAttributes="cn,givenName,sn"
searchScope="${ldap.searchScope}"
timeLimit="${ldap.timeLimit}"
sizeLimit="${ldap.sizeLimit}"
binaryAttributes="jpegPhoto,userCertificate"
sortBehavior="${ldap.sortBehavior}"
/>
<ldaptive:parallel-pooled-search-executor
baseDn="${ldap.baseDn}"
searchFilter="(mail=*)"
returnAttributes="cn,givenName,sn"
searchScope="${ldap.searchScope}"
timeLimit="${ldap.timeLimit}"
sizeLimit="${ldap.sizeLimit}"
binaryAttributes="jpegPhoto,userCertificate"
sortBehavior="${ldap.sortBehavior}"
/>
<ldaptive:aggregate-search-executor
baseDn="${ldap.baseDn}"
searchFilter="(mail=*)"
returnAttributes="cn,givenName,sn"
searchScope="${ldap.searchScope}"
timeLimit="${ldap.timeLimit}"
sizeLimit="${ldap.sizeLimit}"
binaryAttributes="jpegPhoto,userCertificate"
sortBehavior="${ldap.sortBehavior}"
/>
<ldaptive:aggregate-pooled-search-executor
baseDn="${ldap.baseDn}"
searchFilter="(mail=*)"
returnAttributes="cn,givenName,sn"
searchScope="${ldap.searchScope}"
timeLimit="${ldap.timeLimit}"
sizeLimit="${ldap.sizeLimit}"
binaryAttributes="jpegPhoto,userCertificate"
sortBehavior="${ldap.sortBehavior}"
/>
<ldaptive:connection-config
ldapUrl="${ldap.url}"
connectTimeout="PT3S"
trustStore="classpath:/ldaptive.truststore"
trustStorePassword="changeit"
trustStoreType="BKS"
keyStore="${ldap.keyStore}"
keyStorePassword="changeit"
keyStoreType="BKS"
keyStoreAliases="${ldap.keyStoreAliases}"
/>
<ldaptive:aggregate-authenticator>
<ldaptive:anonymous-search-authenticator
ldapUrl="${ldap.url}"
trustCertificates="classpath:/ldaptive.trust.crt"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}"
/>
<ldaptive:bind-search-authenticator
ldapUrl="${ldap.url}"
trustStore="classpath:/ldaptive.truststore"
trustStorePassword="changeit"
trustStoreType="BKS"
baseDn="${ldap.baseDn}"
userFilter="(mail={user})"
bindDn="${ldap.bindDn}"
bindCredential="${ldap.bindCredential}"
resolveEntryWithBindCredentials="true"
connectTimeout="${ldap.connectTimeout}"
useStartTLS="${ldap.useStartTLS}"
blockWaitTime="${ldap.pool.blockWaitTime}"
maxPoolSize="${ldap.pool.maxSize}"
minPoolSize="${ldap.pool.minSize}">
<ldaptive:authentication-response-handler>
<ldaptive:password-policy-handler/>
</ldaptive:authentication-response-handler>
</ldaptive:bind-search-authenticator>
</ldaptive:aggregate-authenticator>
</beans>