Summary | LDAP Preferences - Wrong bind DN |
Queue | Horde Framework Packages |
Type | Enhancement |
State | Resolved |
Priority | 2. Medium |
Owners | |
Requester | heinz (at) htl-steyr (dot) ac (dot) at |
Created | 04/13/2005 (7401 days ago) |
Due | |
Updated | 06/01/2005 (7352 days ago) |
Assigned | |
Resolved | 06/01/2005 (7352 days ago) |
Milestone | |
Patch | No |
State ⇒ Resolved
in Horde 3.1. Thanks!
New Attachment: lib-horde-prefs-ldap.php.diff
New Attachment: config-conf.xml.diff
Horde's Prefs ldap driver requires either
A) a root DN and password to search for and modify a user's prefs
fields, or
B) a simple-to-concatenate user DN formula (such
$conf['prefs']['params']['uid'] + a $base_dn)
A) is a problem because root binds to an LDAP server are neither
necessary nor desired to do most any user-level write operations.
B) is a problem because my (like the original poster's) person schema
does not conform to such a simplistic formula. DNs look like this:
ueid=84kjasd99,ou=8,ou=people,dc=enc,dc=edu
The solution is to make the Prefs ldap driver behave like most LDAP apps
that need to do write operations: do an anonymous bind, search for the
entry to modify using a filter, then rebind as the DN of that entry and
do the write.
This is a config issue, and horde admins should be aware of the
option. To this end, I added an option under LDAP-config Preferences
in conf.xml.
State ⇒ New
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ LDAP Preferences - Wrong bind DN
Queue ⇒ Horde Framework Packages
New Attachment: ldap.php.diff
The users in the LDAP-tree are organized hierarchicaly in different
organizational units.
When binding to the LDAP-server we have to determine the user's full DN.
In the current code (/horde/lib/Horde/Prefs/ldap.php v1.85.10.4) the
bind DN is hardcoded like this:
$bind_dn = sprintf('%s=%s,%s', $this->_params['uid'][0],
$this->_params['username'],
$this->_params['basedn']);
In our opinion it would be more advantageous to use the code attached,
to avoid this hardcoding.