...
- setDefaultAuthenticatorConfigurations
- setDefaultBootstrapSchemas
- setDefaultInterceptorConfigurations
then we will initialize the two declared partitions, system and example
setDefaultAuthenticatorConfigurations() method
This method initialize the authentication methods. At the moment, we support only Simple authentication (ie with a password) or Anonymous authentication.
Each authenticator is stored in a MutableAuthenticatorConfiguration object, which associate a name and a dedicated class.
Note | ||
---|---|---|
| ||
We could declare those authenticator as plugins into the server.xml file, allowing us to easily add some new authenticator. However, this will introduce some weakness in the security system. If somebody add a faked authentication class, and modify the configuration file to load this plugin, what could happen? |
...
For information about authentication mechanisms, open this page : Authentication Mechanisms in ADS
setDefaultBootstrapSchemas() method
In this method, we will load all the default schemas, which are :
...
Note | ||
---|---|---|
| ||
It can be noted that all the default schema loaded in this section are also declared in the server.xml file. It is questionnable to load those default schema in this part, and it may be decided to remove this step in the default initialization... |
setDefaultInterceptorConfigurations() method
Here, we will create the list of all existing interecptors. Each interceptor is an instance of the MutableInterceptorConfiguration class.
...
Parameter | Default value | Description |
---|---|---|
enableNetworking | TRUE | Used if we allow the server to accept network communication (if the server is embeded, it can be set to FALSE) |
synchPeriodMillis | 20 000 ms | Interval between each flush to the disk of modifed data. Can be set to 0 if the user wants all data to be flushed on disk as soon as they are modified, but this has a huge negative impact on performance. |
ldapPort | 389 | Default LDAP port. |
ldapsPort | 686 | Default LDAPS port. |
ldapsCertificateFile | <basedir>/certificates/server.cert | Default certificate file storage |
ldapsCertificatePassword | "changeit" | Default SSL password |
enableLdaps | FALSE | LDAPS is not enabled by default |
enableKerberos | FALSE | KERBEROS is not enabled by default |
enableChangePassword | FALSE | ChangePW is not enabled by default |
enableNtp | FALSE | NTP is not enabled by default |
ldifDirectory | null | The dirctory in which ldif files will be read |
System and example partitions initialization
Those two partitions are instances of the MutableBTreePartitionConfiguration class.
Note | ||||
---|---|---|---|---|
| ||||
We may have differnt kinds of partitions, but at the moment, only one exist, which is based on JDBM. There is a need of in memory parttion, and for RDBMS based partition. One project is to use Hibernate tas an O/R mapping tool. Work In Progress, as usual, and volunteers welcomed |
The initialization will create a Jdbm partition, instanciate one MutableIndexConfiguration per indexed attribute (this class stores the indexed attribute's OID with an cache size - this size is expressed as the number of attributes to keep in the cache -),
Note | ||
---|---|---|
| ||
The indexed attributes are described using their OID. This is not necessary a great choice from the administrator point of view ... We should be able to use either on of the attribute's name or its OID, and internally transform the names to OID latter in the initialization process. |
Note | ||
---|---|---|
| ||
Some attributes must be indexed, like ObjectClass, uid or DistinguishedName, so it may be a good idea to index them even if they are not declared in the configuration file. However, as the cache size is defined at the same time, and as an administrator might want to set the cache size accordingly to its memory configuration, and to its expected performance, this is not really a burdn to have them in the configuration file. |
[]