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;
}