Получить полное имя из аутентификации Windows в классе ASP.Net BLL - PullRequest
2 голосов
/ 01 августа 2009

Попытка выяснить, как получить полное имя текущего пользователя, введенное в Active Directory, из класса BLL в моем приложении ASP.Net. Пока что у меня есть:

   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;
        }
    }

Проблема в том, что при этом будет возвращено имя пользователя, но мне также нужно полное имя. Кто-нибудь знает, возможно ли это?

1 Ответ

3 голосов
/ 01 августа 2009

Используйте 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
...