+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+ "http://www.springframework.org/dtd/spring-beans.dtd">
+
+<beans>
+ <bean id="environment"
+ class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+ <property name="properties">
+ <props>
+ <prop key="java.naming.security.authentication">simple</prop>
+ <prop key="java.naming.security.principal">uid=admin,ou=system</prop>
+ <prop key="java.naming.security.credentials">secret</prop>
+ <!--<prop key="kdc.entryBaseDn">ou=users,dc=example,dc=com</prop>-->
+ <!--<prop key="kdc.java.naming.security.credentials">secret</prop>-->
+ <!--
+ <prop key="changepw.entryBaseDn">ou=users,dc=example,dc=com</prop>
+ -->
+ <!--
+ <prop key="changepw.java.naming.security.credentials">secret</prop>
+ -->
+ <!--
+ Set this key to a space delimited set of attributeType descriptions
+ and their OID's if you want an attributeType to be handled as
+ binary content. The server will use the schema to derive the set of
+ attributeTypes to treat as binary. The union if the values you
+ provide here will be taken as the set of binaries. Note to be
+ consistent you must add both the OID and all the names an
+ attributeType can have.
+ -->
+ <!--
+ <prop key="java.naming.ldap.attributes.binary"></prop>
+ -->
+ </props>
+ </property>
+ </bean>
+
+ <bean id="configuration"
+ class="org.apache.directory.server.configuration.MutableServerStartupConfiguration">
+ <property name="workingDirectory" value="example.com" />
+
+ <!--
+ Uncomment below to have the server load entries on startup!
+ -->
+ <!--
+ ldifDirectory property can point to a relative file, directory or
+ -->
+ <!--
+ can point to an absolute path to either using the URL path
+ -->
+ <!--
+ notation: i.e. file:///Users/jack/apacheds/ldifs
+ -->
+
+ <!--
+ Entries will optionally be filtered using LdifLoadFilters in the
+ -->
+ <!--
+ order specified. The included Krb5KdcEntryFilter will filter
+ -->
+ <!--
+ kerberos principals creating keys for them using their
+ -->
+ <!--
+ userPassword attribute if present.
+ -->
+
+ <!--
+ <property name="ldifDirectory"> <value>example.ldif</value>
+ </property> <property name="ldifFilters"> <list> <bean
+ class="org.apache.directory.server.protocol.shared.store.Krb5KdcEntryFilter"/>
+ </list> </property>
+ -->
+
+ <!--
+ the number of milliseconds before issuing a synch (flush to disk)
+ -->
+ <!--
+ which writes out dirty pages back to disk. To turn off synchs all
+ -->
+ <!--
+ together simply set this value to <= 0. Make sure you turn on
+ -->
+ <!--
+ synchOnWrite for all partitions if you do choose to do this or else
+ -->
+ <!--
+ writes may never persist to disk.
+ -->
+ <property name="synchPeriodMillis" value="15000" />
+
+ <!--
+ limits searches by non-admin users to a max time of 15000
+ -->
+ <!--
+ milliseconds and has a default value of 10000
+ -->
+ <property name="maxTimeLimit" value="15000" />
+ <!--
+ limits searches to max size of 1000 entries: default value is 100
+ -->
+ <property name="maxSizeLimit" value="1000" />
+ <!--
+ maximum number of threads used by mina is set to 8: default is 4
+ -->
+ <property name="maxThreads" value="8" />
+
+ <property name="allowAnonymousAccess" value="false" />
+ <property name="accessControlEnabled" value="false" />
+ <property name="enableNtp" value="false" />
+ <property name="enableKerberos" value="false" />
+ <property name="enableChangePassword" value="false" />
+
+ <!--
+ It's more efficient to keep this feature turned off but you may not
+ like having the creatorsName and modifiersName contain OIDs instead
+ of short attributeType names instead. So if you want the creatorsName
+ to change from the normalized form which is the internal
+ representation of '0.9.2342.19200300.100.1.1=admin,2.5.4.11=system'
+
+ to a more human readabile form like: 'uid=admin,ou=system' then set
+ this property to true.
+ -->
+ <property name="denormalizeOpAttrsEnabled" value="false" />
+
+ <property name="ldapPort" value="10389" />
+
+ <property name="systemPartitionConfiguration" ref="systemPartitionConfiguration" />
+
+ <property name="contextPartitionConfigurations">
+ <set>
+ <ref bean="examplePartitionConfiguration" />
+ </set>
+ </property>
+ <property name="bootstrapSchemas">
+ <set>
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.AutofsSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.CorbaSchema" />
+ <bean class="org.apache.directory.server.core.schema.bootstrap.CoreSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.CosineSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.ApacheSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.CollectiveSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.InetorgpersonSchema" />
+ <bean class="org.apache.directory.server.core.schema.bootstrap.JavaSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.Krb5kdcSchema" />
+ <bean class="org.apache.directory.server.core.schema.bootstrap.NisSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.SystemSchema" />
+ <bean
+ class="org.apache.directory.server.core.schema.bootstrap.ApachednsSchema" />
+ </set>
+ </property>
+
+ <property name="extendedOperationHandlers">
+ <list>
+ <bean
+ class="org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler" />
+ <bean
+ class="org.apache.directory.server.ldap.support.extended.LaunchDiagnosticUiHandler" />
+ </list>
+ </property>
+
+ <property name="interceptorConfigurations">
+ <list>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="normalizationService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.normalization.NormalizationService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="authenticationService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.authn.AuthenticationService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="referralService" />
+ <property name="interceptor">
+ <bean class="org.apache.directory.server.core.referral.ReferralService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="authorizationService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.authz.AuthorizationService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="defaultAuthorizationService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.authz.DefaultAuthorizationService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="exceptionService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.exception.ExceptionService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="schemaService" />
+ <property name="interceptor">
+ <bean class="org.apache.directory.server.core.schema.SchemaService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="subentryService" />
+ <property name="interceptor">
+ <bean class="org.apache.directory.server.core.subtree.SubentryService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="operationalAttributeService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.operational.OperationalAttributeService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="collectiveAttributeService" />
+ <property name="interceptor">
+ <bean
+ class="org.apache.directory.server.core.collective.CollectiveAttributeService" />
+ </property>
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
+ <property name="name" value="eventService" />
+ <property name="interceptor">
+ <bean class="org.apache.directory.server.core.event.EventService" />
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+
+ <!--
+ use the following partitionConfiguration to override defaults for
+ -->
+ <!--
+ the system partition
+ -->
+ <bean id="systemPartitionConfiguration"
+ class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
+ <property name="name" value="system" />
+ <property name="cacheSize" value="100" />
+ <property name="suffix" value="ou=system" />
+
+ <!--
+ the optimizer is enabled by default but may not always be what
+ -->
+ <!--
+ you want if your queries are really simple
+ -->
+ <property name="optimizerEnabled" value="true" />
+
+ <!--
+ Synchronization on writes does not wait for synch operations to flush
+ dirty pages. Writes persist immediately to disk at a cost to
+ performance with increased data integrity. Otherwise the periodic
+ synch operation will flush dirty pages using the synchPeriodMillis
+ parameter in the main configuration.
+ -->
+ <property name="synchOnWrite" value="true" />
+ <property name="indexedAttributes">
+ <set>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="ou" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="uid" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="objectClass" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ </set>
+ </property>
+ <property name="contextEntry">
+ <value>
+ objectClass: top
+ objectClass: organizationalUnit
+ objectClass: extensibleObject
+ ou: system
+ </value>
+ </property>
+ </bean>
+
+
+ <bean id="examplePartitionConfiguration"
+ class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
+ <property name="name" value="example" />
+ <property name="cacheSize" value="100" />
+ <property name="suffix" value="dc=example,dc=com" />
+
+ <!--
+ the optimizer is enabled by default but may not always be what
+ -->
+ <!--
+ you want if your queries are really simple
+ -->
+ <property name="optimizerEnabled" value="true" />
+
+ <!--
+ Synchronization on writes does not wait for synch operations to flush
+ dirty pages. Writes persist immediately to disk at a cost to
+ performance with increased data integrity. Otherwise the periodic
+ synch operation will flush dirty pages using the synchPeriodMillis
+ parameter in the main configuration.
+ -->
+ <property name="synchOnWrite" value="true" />
+ <property name="indexedAttributes">
+ <set>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="dc" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="ou" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="krb5PrincipalName" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="uid" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ <bean
+ class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
+ <property name="attributeId" value="objectClass" />
+ <property name="cacheSize" value="100" />
+ </bean>
+ </set>
+ </property>
+ <property name="contextEntry">
+ <value>
+ objectClass: top
+ objectClass: domain
+ objectClass: extensibleObject
+ dc: example
+ </value>
+ </property>
+ </bean>
+
+ <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
+ <property name="customEditors">
+ <map>
+ <entry key="javax.naming.directory.Attributes">
+ <bean
+ class="org.apache.directory.server.core.configuration.AttributesPropertyEditor" />
+ </entry>
+ </map>
+ </property>
+ </bean>
+</beans>
\ No newline at end of file