JavaRookie
JavaRookie

Reputation: 41

Java LDAP password authentication

The below search term seems to return match if a user simply exists in the active directory:

NamingEnumeration<SearchResult> ne = dirContext.search(
                        baseDN,
                        userObjectQuery,
                        new String[] { userName },
                        SearchControls)

The userObjectQuery is like userObjectQuery=(&(sAMAccountName=%u)(objectclass=user))

Where %u above will be substituted by the username.

How do I make sure that the users password also matches and only then return true?

Upvotes: 4

Views: 1314

Answers (1)

karoberts
karoberts

Reputation: 9938

Once you find the user using your search code, you can get the user's full DN with getNameInNamespace()

Then you can bind as that full DN and password to authenticate.

Upvotes: 4

Related Questions