| <?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" |
| xsi:schemaLocation=" |
| 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.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> |
| |
| <ldaptive:aggregate-pooled-search-executor baseDn="${baseDn}" /> |
| |
| <ldaptive:pooled-connection-factory |
| ldapUrl="${ldapUrl}" |
| useStartTLS="false" |
| blockWaitTime="PT5S" |
| minPoolSize="5" |
| maxPoolSize="10" |
| validatePeriodically="true" |
| /> |
| |
| <!-- SEARCH CONFIG --> |
| |
| <!-- searches are defined in the following section |
| A bean is defined to handle a specific number of query terms. |
| When a query arrives the searches are executed that match the number of |
| terms entered. |
| The following syntax is used to match query terms: |
| {term1} == the first query term entered |
| {term2} == the second query term entered, and so forth |
| {initial1} == the first letter of the first query term entered |
| in this manner you can construct search filters such as: |
| (givenName={term1})(middleName={initial2}*)(sn={term3}) --> |
| |
| <!-- ONE TERM QUERIES --> |
| <bean id="oneTermSearch" class="org.ldaptive.templates.SearchTemplates"> |
| <constructor-arg> |
| <list> |
| <!-- phone number search --> |
| <!-- note that openldap removes dashes and spaces for all phone number queries --> |
| <value>(telephoneNumber={term1})</value> |
| <value>(telephoneNumber=*{term1})</value> |
| |
| <!-- name search --> |
| <value>(|(givenName={term1})(sn={term1}))</value> |
| <value>(|(givenName={term1}*)(sn={term1}*))</value> |
| <value>(|(givenName=*{term1}*)(sn=*{term1}*))</value> |
| |
| <!-- email search --> |
| <value>(mail={term1})</value> |
| <value>(mail={term1}*)</value> |
| <value>(mail=*{term1}*)</value> |
| </list> |
| </constructor-arg> |
| </bean> |
| |
| <!-- TWO TERM QUERIES --> |
| <bean id="twoTermSearch" class="org.ldaptive.templates.SearchTemplates"> |
| <constructor-arg> |
| <list> |
| <!-- name search --> |
| <value>(&(givenName={term1})(sn={term2}))</value> |
| <value>(cn={term1} {term2})</value> |
| <value>(&(givenName={term1}*)(sn={term2}*))</value> |
| <value>(cn={term1}* {term2}*)</value> |
| <value>(&(givenName=*{term1}*)(sn=*{term2}*))</value> |
| <value>(cn=*{term1}* *{term2}*)</value> |
| |
| <!-- initial search --> |
| <value>(|(&(givenName={initial1}*)(sn={term2}))(&(middleName={initial1}*)(sn={term2})))</value> |
| |
| <!-- last name search --> |
| <value>(sn={term2})</value> |
| </list> |
| </constructor-arg> |
| </bean> |
| |
| <!-- THREE TERM QUERIES --> |
| <bean id="threeTermSearch" class="org.ldaptive.templates.SearchTemplates"> |
| <constructor-arg> |
| <list> |
| <!-- name search --> |
| <value>(|(&(givenName={term1})(sn={term3}))(&(givenName={term2})(sn={term3})))</value> |
| <value>(|(cn={term1} {term2} {term3})(cn={term2} {term1} {term3}))</value> |
| <value>(|(&(givenName={term1}*)(sn={term3}*))(&(givenName={term2}*)(sn={term3}*)))</value> |
| <value>(|(cn={term1}* {term2}* {term3}*)(cn={term2}* {term1}* {term3}*))</value> |
| <value>(|(&(givenName=*{term1}*)(sn=*{term3}*))(&(givenName=*{term2}*)(sn=*{term3}*)))</value> |
| <value>(|(cn=*{term1}* *{term2}* *{term3}*)(cn=*{term2}* *{term1}* *{term3}*))</value> |
| |
| <!-- initial search --> |
| <value>(|(&(givenName={term1})(middleName={initial2}*)(sn={term3}))(&(givenName={term2})(middleName={initial1}*)(sn={term3})))</value> |
| <value>(|(&p(givenName={initial1}*)(middlename={initial2}*)(sn={term3}))(&(givenName={initial2}*)(middleName={initial1}*)(sn={term3})))</value> |
| |
| <!-- last name search --> |
| <value>(sn={term3})</value> |
| </list> |
| </constructor-arg> |
| </bean> |
| |
| </beans> |