blob: 292cdbf8a3cc8f232578e1c946eb2826d812cb51 [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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="org.ldaptive.beans.spring.convert.StringToDurationConverter"/>
<bean class="org.ldaptive.beans.spring.convert.DurationToStringConverter"/>
</set>
</property>
</bean>
<bean id="authenticator"
class="org.ldaptive.auth.Authenticator"
p:dnResolver-ref="dnResolver"
p:authenticationHandler-ref="authenticationHandler"
/>
<bean id="dnResolver"
class="org.ldaptive.auth.PooledSearchDnResolver"
p:baseDn="${ldapBaseDn}"
p:userFilter="(&amp;(mail={user})(objectClass={0}))"
p:userFilterParameters="person">
<constructor-arg index="0" ref="drConnectionFactory"/>
</bean>
<bean id="authenticationHandler"
class="org.ldaptive.auth.PooledBindAuthenticationHandler"
p:connectionFactory-ref="ahConnectionFactory"
/>
<bean id="authenticationRequest"
class="org.ldaptive.auth.AuthenticationRequest"
scope="prototype"
/>
<bean id="drConnectionFactory"
class="org.ldaptive.pool.PooledConnectionFactory"
p:connectionPool-ref="drPool"
/>
<bean id="ahConnectionFactory"
class="org.ldaptive.pool.PooledConnectionFactory"
p:connectionPool-ref="ahPool"
/>
<bean id="drPool"
class="org.ldaptive.pool.BlockingConnectionPool"
init-method="initialize">
<constructor-arg index="0" ref="poolConfig"/>
<constructor-arg index="1" ref="connectionFactory"/>
</bean>
<bean id="ahPool"
class="org.ldaptive.pool.BlockingConnectionPool"
init-method="initialize">
<constructor-arg index="0" ref="poolConfig"/>
<constructor-arg index="1" ref="connectionFactory"/>
</bean>
<bean id="poolConfig"
class="org.ldaptive.pool.PoolConfig"
p:minPoolSize="5"
p:maxPoolSize="20"
p:validatePeriod="PT30S"
/>
<bean id="connectionFactory"
class="org.ldaptive.DefaultConnectionFactory"
p:connectionConfig-ref="connectionConfig"
/>
<bean id="connectionConfig"
class="org.ldaptive.ConnectionConfig"
p:ldapUrl="${ldapTestHost}"
p:useStartTLS="true"
p:sslConfig-ref="sslConfig"
p:connectionInitializer-ref="bindConnectionInitializer"
/>
<bean id="sslConfig"
class="org.ldaptive.ssl.SslConfig"
p:credentialConfig-ref="credentialConfig"
/>
<bean id="bindConnectionInitializer"
class="org.ldaptive.BindConnectionInitializer"
p:bindDn="${ldapBindDn}"
p:bindCredential="${ldapBindCredential}"
/>
<bean id="credentialConfig"
class="org.ldaptive.ssl.KeyStoreCredentialConfig"
p:trustStore="classpath:/ldaptive.truststore"
p:trustStoreType="BKS"
p:trustStorePassword="changeit"
/>
</beans>