개체 클래스 및 개체 범주
개체 클래스의 각 instance 개체가 instance 클래스를 식별하는 다중값 objectClass 속성과 해당 클래스가 파생되는 모든 구조적 또는 추상 슈퍼클래스가 있습니다. 따라서 사용자 개체의 objectClass 속성은 top, person, organizationalPerson 및 사용자 클래스를 식별합니다. objectClass 속성은 목록에 보조 클래스를 포함하지 않습니다. 시스템은 개체 instance 만들어지고 변경할 수 없을 때 objectClass 값을 설정합니다.
개체 클래스의 각 instance 개체가 instance 또는 해당 슈퍼 클래스 중 하나인 클래스의 고유 이름을 포함하는 단일 값 속성인 objectCategory 속성도 있습니다. 개체를 만들 때 시스템은 objectCategory 속성을 해당 개체 클래스의 defaultObjectCategory 속성에 지정된 값으로 설정합니다. 개체의 objectCategory 속성을 변경할 수 없습니다.
자세한 내용과 개체의 objectClass 속성을 검색하는 코드 예제는 objectClass 특성 검색을 참조하세요.
중요
Windows Server 2008 이전에는 objectClass 특성이 인덱싱되지 않았습니다. 값이 여러 개 있고 고유하지 않으므로 이 값은 고유하지 않습니다. 즉, objectClass 특성의 모든 instance 최상위 클래스를 포함합니다. 즉, 인덱스가 매우 크고 비효율적입니다. 지정된 클래스의 개체를 찾으려면 단일 값 및 인덱싱된 objectCategory 특성을 사용합니다. 검색 필터에서 이러한 속성을 사용하는 방법에 대한 자세한 내용은 찾을 항목 결정을 참조하세요.
대부분의 클래스에서 defaultObjectCategory 는 클래스의 classSchema 개체의 고유 이름입니다. 예를 들어 organizationalUnit 클래스의 defaultObjectCategory는 "CN=Organizational-Unit,CN=Schema,CN=Configuration,DC<=forestroot>"입니다. 그러나 일부 클래스는 다른 클래스를 defaultObjectCategory라고 합니다. 이렇게 하면 쿼리가 서로 다른 클래스인 경우에도 관련 개체 그룹을 쉽게 찾을 수 있습니다. 예를 들어 사용자, 사람, 조직 담당자 및 연락처 클래스는 모두 defaultObjectCategory 속성에서 사람 클래스를 식별합니다. 이렇게 하면 (objectCategory=person)과 같은 검색 필터가 단일 쿼리를 사용하여 이러한 모든 클래스의 인스턴스를 찾을 수 있습니다. 사용자에 대한 쿼리는 매우 일반적이므로 간단한 최적화입니다.
구조적 클래스에서 서브클래스를 만드는 경우 새 클래스의 defaultObjectCategory 값을 슈퍼클래스의 동일한 고유 이름으로 설정하는 것이 가장 좋습니다. 이렇게 하면 표준 UI가 하위 클래스를 "찾기"할 수 있습니다.