gearhead:The most common way of doing this is to configure your application pool thread to run as the service account (which does not have to have any special permissions). Then in your code, you can attempt to bind to the directory using the credentials supplied by the user.
This does not use AccountManagement, but you don't really need to use that namespace specifically to do this.
Dear GearHead,
This sounds like a great approach, but our customer seems to want us to use the Service Account in our code. He seems to think that we can embed the Service Account username & password in a string that is passed to LDAP. He believes there is a standard format in which the string passed to LDAP is used each time an application does a lookup against our LDAP tree, and this service account information can be passed within this string, similar to a database call string with account credentials. Does this would familiar?
This would all be straightforward in AccountManagement if Validate Credentials behaved correctly, but it appears that it ignores the username and password in the PrincipalContext….