Add default Apache DS configuration
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 23 Nov 2009 11:18:37 +0000 (11:18 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 23 Nov 2009 11:18:37 +0000 (11:18 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@3147 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/modules/org.argeo.server.ads.server/META-INF/MANIFEST.MF
server/modules/org.argeo.server.ads.server/META-INF/spring/server.xml [new file with mode: 0644]

index 2b5aa297a1f66cda7b98b4bddb6f4f6950b733d6..c58d8be49f886d7d81037d5360773b44458eb422 100644 (file)
@@ -1,9 +1,23 @@
 Bundle-Version: 0.1.2.SNAPSHOT
 Bundle-SymbolicName: org.argeo.server.ads.server
 Import-Package: org.apache.directory.server.configuration,
+ org.apache.directory.server.core.authn,
+ org.apache.directory.server.core.authz,
+ org.apache.directory.server.core.collective,
+ org.apache.directory.server.core.configuration,
+ org.apache.directory.server.core.event,
+ org.apache.directory.server.core.exception,
+ org.apache.directory.server.core.normalization,
+ org.apache.directory.server.core.operational,
  org.apache.directory.server.core.partition.impl.btree,
+ org.apache.directory.server.core.referral,
+ org.apache.directory.server.core.schema,
+ org.apache.directory.server.core.schema.bootstrap,
+ org.apache.directory.server.core.subtree,
  org.apache.directory.server.jndi,
+ org.apache.directory.server.ldap.support.extended,
  org.apache.directory.shared.asn1.codec,
+ org.springframework.beans.factory.config,
  org.springframework.ldap.core.support,
  org.springframework.security.config,
  org.springframework.security.ldap
diff --git a/server/modules/org.argeo.server.ads.server/META-INF/spring/server.xml b/server/modules/org.argeo.server.ads.server/META-INF/spring/server.xml
new file mode 100644 (file)
index 0000000..ca83c1f
--- /dev/null
@@ -0,0 +1,389 @@
+<?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