1
//获取到域名
string domainName = HttpContext.Current.User.Identity.Name;
UserManager manager = new UserManager();
EmpInfo empInfo = manager.GetUserInfo(domainName);
2
public string GetEmpId(string domainName)
{
string id = string.Empty;
if (!string.IsNullOrEmpty(domainName))
{
string[] parts = domainName.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
id = parts[parts.Length - 1];
}
return id;
}
3
DirectoryEntry de = new DirectoryEntry("LDAP://DC=cts,DC=com");
DirectorySearcher search = new DirectorySearcher(de);
search.Filter = string.Format("(sAMAccountName={0})", empId);
SearchResult result = search.FindOne();
SetUserAdInfo(result, user);
4
private static void SetUserAdInfo(SearchResult search, EmpInfo emp)
{
LogManager manager = new LogManager();
try
{
//manager.AddLog(GetLdapProperty(search, "givenName"));
emp.EMP_FIRST_NAME = GetLdapProperty(search, "givenName");
emp.EMP_LAST_NAME = GetLdapProperty(search, "sn");
emp.DisplayName = GetLdapProperty(search, "displayName");
emp.MAIL_ADDRESS = GetLdapProperty(search, "mail");
}
}
第二种方法
string _path = "LDAP://" + ConfigurationSettings.AppSettings["ADServer"];
public string GetDisplayName(string username)
{
DirectoryEntry entry = new DirectoryEntry(_path);
try
{
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = string.Format("(SAMAccountName={0})", username);
SearchResult result = searcher.FindOne();
if (null == result)
{
return "none";
}
else
{
return (string)result.Properties["displayName"][0];
}
}