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" jede Klasse in der Objektklassenhierarchie darstellt. "objectCategory=joy" bezieht sich dagegen auf diese Verzeichnisobjekte, in denen "joy" eine bestimmte Klasse in der Objektklassenhierarchie identifiziert.

objectClass kann mehrere Werte übernehmen, während objectCategory einen einzelnen Wert verwendet. 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 für große Datenbanken nicht skalierbare. ADSI unterstützt Syntaxen "(objectCategory=SomeDN)" und "(objectCategory=Ldap_Display_Name_of_Class)".

Die Ausnahme besteht darin, dass der LDAP-Suchfilter "(objectClass=*)" keine Suche nach Objektklasse angibt, sondern nur tests für die Anwesenheit der Objekte.