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 log开发者_运维百科s 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?
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.
精彩评论