Мне нужно, чтобы пользователи могли вводить адрес электронной почты, и после нажатия кнопки Отправить я хотел бы получить некоторую информацию Active Directory из введенного адреса электронной почты. Наши имена пользователей, к сожалению, не следуют одному соглашению об именах, поэтому я не могу точно угадать имя пользователя по введенному адресу электронной почты.
Я в порядке с поиском информации по имени пользователя, есть ли способвернуться к идентификации с адреса электронной почты, введенного с помощью DirectoryServices или чего-то подобного?
Спасибо,
Изменить и некоторые уточнения:
В форме это не аутентифицированные пользователиадрес электронной почты, который я буду искать, это адрес электронной почты, который был введен в форме.
public class ManagerDetails
{
public string GetManagersName(string emailAddress)
{
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal mgr = UserPrincipal.FindByIdentity(ctx, emailAddress);
string managersName = mgr.GivenName;
return managersName;
}
}
Этот фрагмент кода работает, но только если имя пользователя совпадает с адресом электронной почты.
Например, это работает, Joe.Bloggs@mydomain.com (электронная почта) и Joe.Bloggs (имя пользователя домена).
Если это Joe.Bloggs@mydomain.com (электронная почта) и BloggsJ (имя пользователя домена)это терпит неудачу.
Это очевидно, потому что он использует адрес электронной почты в качестве полного имени пользователя, но, надеюсь, это объясняет, чего я пытаюсь достичь.