Suppose the base of your organization is "O=UC Davis, C=US"
You can then name each entry subordinate to that base, using a multi-valued
RDN. The two components of the RDN could be a commonName value, of the
person's human-readable name (not unique), and a value of some other attribute
such as description, containing the handle (which is unique). Since the handle
is unique within UC Davis, and assuming there is only one UC Davis, the DN
uniqueness requirement is met.
Thus a record database like
HANDLE,GIVENNAME,SURNAME,DEPARTMENT,EXTENSION
f00bar0,John,Lee,Math,12345
f00bar1,John,Lee,Mathematics,33221
f00bar2,John,Smith,Art,32321
might map into the following three entries
DN: CN=John Lee+description=f00bar0,O=UC Davis, C=US
objectClass= top
objectClass= person
objectClass= ucdavisPerson
CN= John Lee
SN= Lee
department= Math
extension= 12345
description= f00bar0
DN: CN=John Lee+description=f00bar1,O=UC Davis, C=US
objectClass= top
objectClass= person
objectClass= ucdavisPerson
CN= John Lee
SN= Lee
department= Mathematics
extension= 33221
description= f00bar1
DN: CN=John Smith+description=f00bar2,O=UC Davis, C=US
objectClass= top
objectClass= person
objectClass= ucdavisPerson
CN= John Smith
SN= Smith
department= Art
extension= 32321
description= f00bar2
Thus if someone contacted your directory and did a search for "CN=John Lee"
they would get back the first two entries. The two entries would have distinct
names. Typically the client program doing the search would display additional
information from the entries (such as the department or other attributes) so
that the end user would be able to select the right one.
Hope this helps,
Mark Wahl, Enterprise Directory Integration
Critical Angle Incorporated