我正在尝试从Active Directory检索用户名。我发现这段代码可以尝试,它无法识别User
的{{1}}部分。我已经看过是否需要添加另一个引用或汇编但是我还没有看到任何东西。有没有更好的方法从Active Directory获取用户名?
User.Identity.Name
答案 0 :(得分:1)
您可以使用 WindowsIdentity.GetCurrent
using System.Security.Principal;
static string GetUserName()
{
WindowsIdentity wi = WindowsIdentity.GetCurrent();
string[] parts = wi.Name.Split('\\');
if(parts.Length > 1) //If you are under a domain
return parts[1];
else
return wi.Name;
}
<强>用法:强>
string fullName = GetUserName();
很高兴为您服务!
答案 1 :(得分:0)
怎么样:
public string GetUserName()
{
string name = "";
using (var context = new PrincipalContext(ContextType.Domain))
{
var usr = UserPrincipal.Current;
if (usr != null)
{
name = usr.DisplayName;
}
}
}