1 DirectoryEntry de = new DirectoryEntry("LDAP://10.10.10.10:389"); 2 DirectorySearcher searcher = new DirectorySearcher(de, string.Format("(&(objectClass=user)(samAccountName={0}))", "A00106")); 3 SearchResultCollection src = searcher.FindAll(); 4 foreach (SearchResult rs in src) 5 { 6 if (rs != null) 7 { 8 string n = (rs.GetDirectoryEntry().Properties["distinguishedName"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["distinguishedName"].Value.ToString(); 9 if (n.IndexOf("OU") != -1) 10 { 11 //displayName,sAMAccountName,name,mail 12 string email = (rs.GetDirectoryEntry().Properties["mail"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["mail"].Value.ToString(); 13 } 14 } 15 }
// verify user / password private string GetEmployeeIDByLDAP(string userName, string password) { // TODO: Extract DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://66.66.66.66:389") { Username = userName, Password = password, AuthenticationType = AuthenticationTypes.Secure }; try { DirectorySearcher searcher = new DirectorySearcher(directoryEntry) { Filter = string.Format("(&(objectClass=user)(samAccountName={0}))", userName) }; SearchResult result = searcher.FindOne(); if (result != null) { string empid = result.Properties["name"][0].ToString(); return empid; } } catch (Exception err) { _logger.Error(err); } return string.Empty; }