Как вытащить почту из LDAP в веб-приложение - PullRequest
0 голосов
/ 28 марта 2012

Я работаю над приложением C # и ASP.Net, которое использует проверку подлинности с помощью форм, которую я нашел здесь ... http://msdn.microsoft.com/en-us/library/ms180890(v=vs.90).aspx

Это прекрасно работает, но теперь я хотел бы пойти дальше и также потянутьадрес электронной почты из поля почты в LDAP и направьте его к тексту с остальными

lblName.Text = "Hello " + Context.User.Identity.Name + ".";
  lblAuthType.Text = "You were authenticated using " 
                     + Context.User.Identity.AuthenticationType + ".";

Я искал и читал тезисные ссылки в поискахответ ...

Как получить данные Active Directory текущего пользователя в C #

Как использовать электронную почту как httpcontext.User.Identity.name

http://www.codekeep.net/snippets/402e4677-f8d0-419c-b656-b3c28e740296.aspx

из того, что я могу сказать, мне нужно добавить код в LdapAuthentication.cs, как другой запрос DirectorySearcher, но мне нужно сделать совершенно новый поиск или я могу просто добавитьэто на запрос, который он делает, когда он ищет имя пользователя ??Например,

            DirectorySearcher search = new DirectorySearcher(entry);

            search.Filter = "(SAMAccountName=" + username + ")";
            search.PropertiesToLoad.Add("cn");
            search.PropertiesToLoad.Add("mail");  // e-mail address
            SearchResult result = search.FindOne();

            if (null == result)
            {
                return false;
            }

.. Я так новичок в этом, и я так стараюсь, но я не могу получить это ... любую помощь?

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Вы должны увидеть Реализация поставщика профилей и Обзор свойств профиля ASP.NET в MSDN.Реализация ProfileProvider делает свойства доступными через объект Profile.Таким образом, вы можете предоставить любую дополнительную информацию, которую вы хотите.

0 голосов
/ 28 марта 2012

Вы можете добавить почту в PropertiesToLoad, а затем получить результат, открыв (String) result.Properties ["mail"] [0].Properties - это двумерный массив, в котором первый вектор является именем атрибута, а второй используется в случае, если атрибут является многопараметрическим.

...