Получите UPN или электронную почту для зарегистрированного пользователя в веб-приложении.NET

Участники класса являются частными по умолчанию. Участники структуры общедоступны по умолчанию. Помимо этого нет никаких других различий. Также см. этот вопрос .

20
задан DrStalker 9 July 2009 в 05:15
поделиться

2 ответа

Попробуйте:

System.Security.Principal.WindowsIdentity.GetCurrent().Name
1
ответ дан 29 November 2019 в 23:45
поделиться

Чтобы запросить активный каталог с помощью поисковика по каталогам, вам нужно сделать что-то вроде этого (полностью непроверенный код):

    string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    string ldapPath = "LDAP://domain.company.com";

    public string GetEmail(string userName, string ldapPath)
    {
        using (DirectoryEntry root = new DirectoryEntry(ldapPath))
        {
            DirectorySearcher searcher = new DirectorySearcher(root);
            searcher.Filter = string.Format(@"(&(sAMAccountName={0}))", userName);
            searcher.PropertiesToLoad = "mail";

            SearchResult result = searcher.FindOne();

            if (result != null)
            {
                PropertyValueCollection property = result.Properties["mail"];
                return (string)property.Value;
            }
            else
            { 
                // something bad happened
            }
        }
    }
2
ответ дан 29 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: