public AdUser GetUserFromAdBy(string login) { new Validator(this).ValidateConfiguration(); string searchCriteria = $"(&(objectClass={LdapConfiguration.ObjectClass.User})({LdapConfiguration.Attribute.UniqueName}={login}))"; LdapFilter filter = new LdapFilter { SearchPath = LdapConfiguration.Path, SearchCriteria = searchCriteria }; LdapEntry userEntry = SearchBy(filter).FirstOrDefault(); if (userEntry == null) { throw new Exception( $"User {login} not found on {LdapConfiguration.Path} using ObjectClass {LdapConfiguration.ObjectClass.User} and uniqueName {LdapConfiguration.Attribute.UniqueName}"); } return(new AdUser(userEntry, GetAdGroups(userEntry.GetDistinguishedName()))); }