尝试弄清楚如何从我的ASP.Net应用程序中的BLL类获取在Active Directory中输入的当前用户的全名。到目前为止,我有:
public static string Username
{
get
{
var name = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
if (name.Contains("\\"))
{
var start = name.IndexOf("\\");
if (name.Length > start)
{
name = name.Substring(start + 1);
}
}
return name;
}
}
这个问题是这将返回用户名,但我也需要全名。有人知道这是否可行?
答案 0 :(得分:3)
使用DirectorySearcher ...
var search = new DirectorySearcher( new DirectoryEntry("LDAP://YourDomain") );
search.Filter = "(sAMAccountName=UserNameHere)"; // put the identity name here
var res = search.FindOne();
var name = res["displayName"]; // I believe this is the right property