Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
 public LdapMessageQueue SendSearch(string searchBase, LdapSearchType type, string filter = "")
 {
     return(SendSearch(searchBase, GetTypeFilter(type, filter)));
 }
Exemplo n.º 3
0
 public LdapPagedResponse ExecutePagedSearch(string searchBase, LdapSearchType type, string filter = "", string cookie = "")
 {
     return(ExecutePagedSearch(searchBase, GetTypeFilter(type, filter), cookie));
 }
Exemplo n.º 4
0
 public List <LdapEntry> ExecuteLimitedSearch(string searchBase, LdapSearchType type, int start, int end, string filter = "")
 {
     return(ExecuteLimitedSearch(searchBase, GetTypeFilter(type, filter), start, end));
 }
Exemplo n.º 5
0
 public List <LdapEntry> ExecuteSearch(string searchBase, LdapSearchType type, string filter = "")
 {
     return(ExecuteSearch(searchBase, GetTypeFilter(type, filter)));
 }