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