Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to programmatically retrieve information from LDAP

Tags:

asp.net

ldap

I am running an ASP.Net page on IIS7, and developing in VS 2008. Currently, I have user authentication being done through an LDAP connection. Once the user logs in, on one page they have a form with some basic information about them (such as their name, email address, country, and the like) and I wish to pre populate some of these fields from information already stored in the LDAP. In particular their given name and email addresses. The question is, using C#, how do I actually retrieve this information?

like image 515
Jacob Bellamy Avatar asked Feb 11 '10 02:02

Jacob Bellamy


1 Answers

Sounds like you're on .Net 3.5 SP1, in that case you can use the System.DirectoryServices.AccountManagement namespace that greatly simplifies this.

Here's a sample:

var pc = new PrincipalContext(ContextType.Domain, "mydomaincontroller");
var u = UserPrincipal.FindByIdentity(pn, userName);
var email = u.EmailAddress;
var name = u.DisplayName;

Here's a full list of properties you can grab.

like image 81
Nick Craver Avatar answered Nov 14 '22 23:11

Nick Craver