
1. To enable LDAP authentication, edit config.php and change $xerte_toolkits_site->authentication_method to be 'Ldap' (see the bottom of the file).

2. Read the below 

3. Read what's in library/Xerte/Authentication/Ldap.php

4. Fight with LDAP (e.g. phpldapadmin )

5. Ensure your Xerte database looks something like the below.


Some random notes for those trying to setup LDAP access :

The 'ldap' table in the database will need to contain something like :

mysql> select * from ldap;
+---------+----------------+-----------+-----------+------------------------------------+---------------+--------------------------------------+-------------+------------------+
| ldap_id | ldap_knownname | ldap_host | ldap_port | ldap_username                      | ldap_password | ldap_basedn                          | ldap_filter | ldap_filter_attr |
+---------+----------------+-----------+-----------+------------------------------------+---------------+--------------------------------------+-------------+------------------+
|       1 | elm            | localhost | 389       | cn=admin,dc=mydomain,dc=com        | letmein       | ou=xerte,dc=mydomain,dc=com          | uid         | uid              |
+---------+----------------+-----------+-----------+------------------------------------+---------------+--------------------------------------+-------------+------------------+
1 row in set (0.00 sec)


Where the LDAP server contains a number of records similar to the following, when you perform a 'slapcat' (with selective editing) :

dn: cn=joebloggs,ou=xerte,dc=mydomain,dc=com
givenName: joebloggs
sn: Bloggs
cn: joebloggs
uid: joebloggs
userPassword:: somesha1edpasswordstringgoeshere...
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/users/joebloggs
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
structuralObjectClass: inetOrgPerson


Technically the search is ONLY matching on 'uid' - so what you put in the dn/cn is probably irrelevant... 
