angeben nicht, welche zu Rückgabeattribute, wenn ein LDAP-Speicher abfragt
-
29-09-2019 - |
Frage
Ich bin mit dem DirectoryServices.Protocols.SearchRequest Art einen Antrag machen gegen ein OpenDS speichern einige Einträge abzurufen. Ich möchte Steuerung in der Lage sein, die Attribute für die Einträge in der Antwort zurückgegeben werden, und dachte, die „Attribute“ Eigenschaft würde es tun. Doch diese Eigenschaft keinen Setter hat, damit ich nicht so etwas tun kann: -
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;
Kann jemand leitet mich zu dem, was soll ich den Antrag nur Rückkehr Einträge mit den angegebenen Attributen und nicht alle von ihnen zu filtern tun.
Lösung
Ironischer dies gearbeitet: -
SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });
Andere Tipps
Gibt es einen Grund, warum Sie SearchResuest mit sind? In jedem Fall können Sie die Directory Klasse verwenden http: // msdn. microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx Lookup-Einträge. Hier ist ein Beispiel für aufzublicken 1 Ergebnis http: // msdn. microsoft.com/en-us/library/system.directoryservices.searchresult.aspx . Verwenden Sie die FindAll Methode, um alle Ergebnisse zu erhalten.
Ich würde vermuten, dass Sie einen anderen Filter benötigen würden.
Ich bin sicher, dass Ihr ldapfilter
einige Kriterien hat. Sie müssten und es (mit &) enthalten (&(Id=*)(File=*))
, um die Ergebnisse zu erhalten, für den Sie suchen.