private static string GetTypeFilter(LdapSearchType type, string filter = "") { switch (type) { case LdapSearchType.User: if (filter == "") { return($"(&(objectClass=user)(objectCategory=person))"); } return($"(&(objectClass=user)(objectCategory=person)(" + LdapInjectionControll.EscapeForSearchFilterAllowWC(filter) + "))"); case LdapSearchType.Group: if (filter == "") { return($"((objectClass=group)"); } return($"(&(objectClass=group)(" + LdapInjectionControll.EscapeForSearchFilterAllowWC(filter) + "))"); case LdapSearchType.OU: if (filter == "") { return($"(&(ou=*)(objectClass=organizationalunit))"); } return($"(&(ou=*)(objectClass=organizationalunit)(" + LdapInjectionControll.EscapeForSearchFilterAllowWC(filter) + "))"); case LdapSearchType.Machine: if (filter == "") { return($"(objectClass=computer)"); } return($"(&(objectClass=computer)(" + LdapInjectionControll.EscapeForSearchFilterAllowWC(filter) + "))"); default: throw new domain.Exceptions.WrongParameterException("Search type not specified"); } }
public LdapMessageQueue SendSearch(string searchBase, LdapSearchType type, string filter = "") { return(SendSearch(searchBase, GetTypeFilter(type, filter))); }
public LdapPagedResponse ExecutePagedSearch(string searchBase, LdapSearchType type, string filter = "", string cookie = "") { return(ExecutePagedSearch(searchBase, GetTypeFilter(type, filter), cookie)); }
public List <LdapEntry> ExecuteLimitedSearch(string searchBase, LdapSearchType type, int start, int end, string filter = "") { return(ExecuteLimitedSearch(searchBase, GetTypeFilter(type, filter), start, end)); }
public List <LdapEntry> ExecuteSearch(string searchBase, LdapSearchType type, string filter = "") { return(ExecuteSearch(searchBase, GetTypeFilter(type, filter))); }