Tuesday, July 14, 2015

Read User Properties From Active Directory

Read User Properties From Active Directory:-
lblMessage.Text = GetEmployeeID("name@company.com"); 
internal static string GetEmployeeID (string strmail)
        {
            StringBuilder sbQuery = new StringBuilder();
            string stremployeeid = string.Empty;           
            string strLdapPath = "LDAP://DC=company_domain,DC=com";
            try
            {
                if (string.IsNullOrEmpty(Convert.ToString(sbQuery)))
                {
                    sbQuery.Append("(&(objectClass=user)(|(mail=" + strmail + ")");
                }
                sbQuery.Append("))");
                DirectoryEntry entry = new DirectoryEntry(strLdapPath);
                DirectorySearcher userSearch = new DirectorySearcher(entry);
                userSearch.Filter = Convert.ToString(sbQuery);
                userSearch.PropertiesToLoad.Add("mail");
                userSearch.PropertiesToLoad.Add("employeeid");
                SearchResultCollection sresultcoll = userSearch.FindAll();
                foreach (SearchResult sresult in sresultcoll)
                {
                    if (sresult != null)
                    {
                        if (sresult.Properties["mail"].Count == 1)
                        {
                            stremployeeid = sresult.Properties["employeeid"].Count > 0 ? Convert.ToString(sresult.Properties["employeeid"][0]) : string.Empty;
                            if (stremployeeid != null && stremployeeid.Length > 0)
                            {
                                return stremployeeid;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return stremployeeid;
        }

No comments:

Post a Comment

Featured Post

Protect an API by using OAuth 2.0 with Azure Active Directory and API Management

Protect an API by using OAuth 2.0 with Azure Active Directory and API Management https://docs.microsoft.com/en-us/azure/api-management/api-...

Popular posts