T
Tim Hingeley
Hi,
We have a java ldap client running on unix which authenticates against
an AD server. Currently, the client performs the authentication by
binding with a string such as
cn=<username>,cn=Users,dc=mycompany,dc=org
The username (and password) are supplied by a user entering them on
screen.
This is fine if all the user accounts exist in the Users container,
but they don't. There are over 10,000 accounts, and they are
structured under a hierarchy of multiple OU's.
Is there any way we can bind to the AD ldap server using a specified
username and password but without having to know where in the OU
structure they are? Something like...
cn=<username>,dc=mycompany,dc=org
One option is to specify multiple OU's and just attempt to bind to
them one after the other until one succeeds - but there are over 30
OU's and we don't want to have to keep maintaining the list every time
the AD guys change the AD account hierarchy around.
Ldap has a search interface, but to use it you must first be logged on
to the Ldap server. We want to avoid having our ldap client log on to
the server with one set of credentials and then search for a given
user name, because the stored log on credentials represent a security
risk.
Also, allowing anonymous access to the ldap server is not a preferred
option - again for security reasons.
In the Windows world, when a user logs in to Windows they just supply
a user name and password and they are checked against the AD server
irrespective of where in the AD account hierarchy the user's account
sits. We are trying to achieve the same thing with ldap - allowing
users to authenticate without caring about the AD account hierarchy.
One option that might be acceptable is to configure AD in some way so
that anonymous logins are permitted but only for searching to
determine the full location of a given cn, and no other attributes -
ie a search that just verifies the existence of an account and it's
full location but no other details.
We have a java ldap client running on unix which authenticates against
an AD server. Currently, the client performs the authentication by
binding with a string such as
cn=<username>,cn=Users,dc=mycompany,dc=org
The username (and password) are supplied by a user entering them on
screen.
This is fine if all the user accounts exist in the Users container,
but they don't. There are over 10,000 accounts, and they are
structured under a hierarchy of multiple OU's.
Is there any way we can bind to the AD ldap server using a specified
username and password but without having to know where in the OU
structure they are? Something like...
cn=<username>,dc=mycompany,dc=org
One option is to specify multiple OU's and just attempt to bind to
them one after the other until one succeeds - but there are over 30
OU's and we don't want to have to keep maintaining the list every time
the AD guys change the AD account hierarchy around.
Ldap has a search interface, but to use it you must first be logged on
to the Ldap server. We want to avoid having our ldap client log on to
the server with one set of credentials and then search for a given
user name, because the stored log on credentials represent a security
risk.
Also, allowing anonymous access to the ldap server is not a preferred
option - again for security reasons.
In the Windows world, when a user logs in to Windows they just supply
a user name and password and they are checked against the AD server
irrespective of where in the AD account hierarchy the user's account
sits. We are trying to achieve the same thing with ldap - allowing
users to authenticate without caring about the AD account hierarchy.
One option that might be acceptable is to configure AD in some way so
that anonymous logins are permitted but only for searching to
determine the full location of a given cn, and no other attributes -
ie a search that just verifies the existence of an account and it's
full location but no other details.