从WindowsIdentity获取用户的显示名称

时间:2009-05-19 15:06:20

标签: asp.net vb.net

我在使用Windows身份验证的ASP.NET应用程序中。

我正在使用HttpContext.Current.User.Identity.Name获取当前经过身份验证的用户的用户名,该用户以DOMAIN \ USERNAME格式获取用户名。这很好。

是否有一种简单的方法可以将其转换为显示名称(例如“Richard Gadsden”),就像XP中我的开始菜单顶部显示的名称一样?

如果必须,我想我可以通过System.DirectoryServices并查询到ADSI,但肯定有更简单的方法吗?

3 个答案:

答案 0 :(得分:14)

现在有一种更简单的方法,使用System.DirectoryServices.AccountManagement

Imports System.DirectoryServices.AccountManagement

...

   Dim CurrentUser As UserPrincipal = UserPrincipal.Current
   Dim DisplayName As String = CurrentUser.DisplayName 

答案 1 :(得分:2)

这是一个关于如何做到这一点的教程:

http://www.youcanlearnseries.com/Programming%20Tips/CSharp/LDAPReader.aspx

答案 2 :(得分:1)

我猜ADSI是要走的路。这很容易。我没有看到更简单的方法。您只需查询LDAP://<SID=user-sid>并获取专有名称属性。