Ответ 1
Вот учебник о том, как это сделать:
http://www.youcanlearnseries.com/Programming%20Tips/CSharp/LDAPReader.aspx
Я работаю в приложении ASP.NET с использованием проверки подлинности Windows.
Я использую HttpContext.Current.User.Identity.Name, чтобы получить имя пользователя, прошедшего проверку подлинности, который получает меня в формате DOMAIN\USERNAME. Это нормально работает.
Есть ли простой способ преобразовать это в отображаемое имя (например, "Ричард Гадсден" ), подобное тому, которое появляется в верхней части моего начального меню в XP?
Если мне нужно, я думаю, что могу пройти через System.DirectoryServices и запросить в ADSI, но, конечно же, проще?
Вот учебник о том, как это сделать:
http://www.youcanlearnseries.com/Programming%20Tips/CSharp/LDAPReader.aspx
Теперь проще, используйте System.DirectoryServices.AccountManagement
Imports System.DirectoryServices.AccountManagement
...
Dim CurrentUser As UserPrincipal = UserPrincipal.Current
Dim DisplayName As String = CurrentUser.DisplayName
Я думаю, что ADSI - это путь. Это довольно легко. Я не вижу более простого способа. Вы просто запрашиваете LDAP://<SID=user-sid>
и получаете отличительное свойство имени.