Impossibile specificare quali attributi di ritorno quando l'interrogazione di un archivio LDAP

StackOverflow https://stackoverflow.com/questions/3919732

Domanda

Sto usando il tipo DirectoryServices.Protocols.SearchRequest di effettuare una richiesta contro un OpenDS negozio per recuperare alcune voci. Voglio essere in grado di controllo che gli attributi vengono restituiti per le voci nella risposta e ho pensato la proprietà "Attributi" avrebbe fatto. Tuttavia che la proprietà non dispone di un setter, quindi non posso fare qualcosa di simile: -

SearchRequest searchRequest = new SearchRequest
                                            {
                                                DistinguishedName = hubTable,
                                                Filter = ldapFilter,
                                                Scope = SearchScope.Subtree,                                                
                                                Attributes = new StringCollection{"Id", "File"}
                                            };
            //run the query and get the results
            SearchResponse results = connection.SendRequest(searchRequest) as SearchResponse;

Qualcuno mi può diretto a quello che dovrei fare per filtrare la richiesta alle voci di ritorno solo con gli attributi specificati e non tutti di loro.

È stato utile?

Soluzione

Per ironia della sorte questo ha funzionato: -

SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });

Altri suggerimenti

C'è un motivo per cui si sta utilizzando SearchResuest? In ogni caso è possibile utilizzare la classe DirectorySearcher http: // MSDN. microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx alla ricerca voci. Ecco un esempio di guardare in alto 1 http: // MSDN. microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. Utilizzare il metodo FindAll per ottenere tutti i risultati.

Ho il sospetto che avrebbe bisogno di un filtro diverso.

Sono sicuro che la vostra ldapfilter ha alcuni criteri. Si avrebbe bisogno di e IT (con &) per includere (&(Id=*)(File=*)) al fine di ottenere i risultati che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top