Home All Groups Group Topic Archive Search About

Authenticate user in OpenLDAP with username and password

Author
5 Jan 2007 11:24 AM
dorrit.Riemenschneider
I need to validate a user with username and password against our
OpenLDAP active directory. This is my code:

Private bool ValidateUser (string username, string password)
{
                DirectoryEntry userEntry = new DirectoryEntry(
                    ldapPath, username, password,
AuthenticationTypes.Anonymous);
                //Bind to the native AdsObject to force authentication.

                Object obj = userEntry.NativeObject;
                DirectorySearcher search = new
DirectorySearcher(userEntry);
                search.Filter = "(cn=" + username + ")";
                search.PropertiesToLoad.Add("cn");
                SearchResult result = search.FindOne();
                if (result != null)
                    return true;
                else
                    return false;
}

The problem is, it returns also true if the username is correct, but
the password is false.
It looks like the user is located but not authenthicated.

I have already tried with several AuthenthicationTypes:
I get an exeption "invalid dn-syntax" for AuthenthicationTypes.None,
AuthenthicationTypes.Delegation, AuthenthicationTypes.FastBind,
AuthenthicationTypes.ReadOnlyServer, AuthenthicationTypes.Sealing.

I get an exception "Die angeforderte Authentifizierungsmethode wird
durch den Server nicht unterstützt" (authenthication method not
supported by server) for AuthenthicationTypes.Secure  or if I don't
specify an AuthenthicationType.

Any help is appreciated!
Dorrit

AddThis Social Bookmark Button