objectCategory vs. objectClass

Sowohl die Attribute objectCategory als auch objectClass können auf eine bestimmte Schemaklasse eines Verzeichnisobjekts verweisen. Es gibt jedoch einen wichtigen Unterschied in der Semantik zwischen den beiden. "objectClass=joy" bezieht sich auf solche Verzeichnisobjekte, in denen "joy" eine beliebige Klasse in der Objektklassenhierarchie darstellt. "objectCategory=joy" bezieht sich hingegen auf die Verzeichnisobjekte, in denen "joy" eine bestimmte Klasse in der Objektklassenhierarchie identifiziert.

objectClass kann mehrere Werte annehmen, während objectCategory einen einzelnen Wert akzeptiert. Aus diesem Grund eignet sich objectCategory besser für den Typabgleich von Objekten in einer Verzeichnissuche. ADSI verwendet dies als Standardabgleichskriterium. Suchvorgänge mit einer objectClass sind nicht auf große Datenbanken skalierbar. ADSI unterstützt die Syntaxen "(objectCategory=SomeDN)" und "(objectCategory=Ldap_Display_Name_of_Class)".

Die Ausnahme ist, dass der LDAP-Suchfilter "(objectClass=*)" keine Suche für die Objektklasse angibt, sondern lediglich auf das Vorhandensein der Objekte testet.