从 Active Directory 检索用户名
Retrieving User Name from Active Directory
我正在尝试从 Active Directory 中检索用户名。我找到了这段代码来尝试,但是它无法识别 User.Identity.Name
的 User
部分。我查看是否需要添加另一个参考或程序集,但我没有看到任何东西。有没有更好的方法从 Active Directory 获取用户名?
static string GetUserName(){
string name = "";
using (var context = new PrincipalContext(ContextType.Domain))
{
var usr = UserPrincipal.FindByIdentity(context, User.Identity.Name);
if (usr != null)
name = usr.DisplayName;
}
}
您可以使用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();
很高兴为您提供帮助!
怎么样:
public string GetUserName()
{
string name = "";
using (var context = new PrincipalContext(ContextType.Domain))
{
var usr = UserPrincipal.Current;
if (usr != null)
{
name = usr.DisplayName;
}
}
}
我正在尝试从 Active Directory 中检索用户名。我找到了这段代码来尝试,但是它无法识别 User.Identity.Name
的 User
部分。我查看是否需要添加另一个参考或程序集,但我没有看到任何东西。有没有更好的方法从 Active Directory 获取用户名?
static string GetUserName(){
string name = "";
using (var context = new PrincipalContext(ContextType.Domain))
{
var usr = UserPrincipal.FindByIdentity(context, User.Identity.Name);
if (usr != null)
name = usr.DisplayName;
}
}
您可以使用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();
很高兴为您提供帮助!
怎么样:
public string GetUserName()
{
string name = "";
using (var context = new PrincipalContext(ContextType.Domain))
{
var usr = UserPrincipal.Current;
if (usr != null)
{
name = usr.DisplayName;
}
}
}