В моем приложении у меня есть следующий метод, по которому я передаю ему имя пользователя (пример: Domain1 \ User1) и попытаюсь найти группы, к которым принадлежит пользователь в Active Directory.Обработка нескольких доменов для проверки подлинности Active Directory
public ActionResult Login(string userName)
{
PrincipalContext up = new PrincipalContext(ContextType.Domain);
UserPrincipal users = UserPrincipal.FindByIdentity(up,IdentityType.SamAccountName, userName);
PrincipalSearchResult<Principal> groups = users.GetGroups();
IEnumerable<string> userGroupList = groups.Select(p =>p.SamAccountName);
return userGroupList ;
}
код работает отлично, однако я предполагаю, что этот код будет failto работать в среде, где существует несколько доменов. Например: 1) Пользователь попытаться войти в систему с (Domain1 \ User1), и он будет проходить, 2) Пользователь попытаться войти в систему с (домен2 \ Пользователю2) приложение будет пытаться искать Пользователь2 в Domain1, и поскольку в домене 1 такого пользователя нет, он не удастся.
Это правда? если да, то как я могу решить эту проблему, чтобы она работала с несколькими доменами?