3.3. 복합 LDAP 검색 필터 사용
다음과 같이 접두사 표기법으로 표시된 부울 연산자를 사용하여 여러 LDAP 검색 필터 구성 요소를 결합할 수 있습니다.
(<boolean-operator>(filter)(filter)(filter)...)
다음 부울 연산자를 사용할 수 있습니다.
| Operator | symbol | 설명 |
|---|---|---|
| AND | Ampersand (&) |
지정된 필터가 true이면 모두 지정된 필터가 true여야 합니다. 예: |
| 또는 | 수직 표시줄(|) |
문을 true로 설정하려면 하나 이상의 지정된 필터가 true여야 합니다. 예: |
| NOT | 느낌표 (!) |
지정된 조건이 true이면 안 됩니다.The specified statement must not be true for the statement to be true. NOT 연산자의 영향을 받는 필터는 하나만 있습니다. 예: |
검색 작업은 다음 순서로 부울 식을 평가합니다.
- 먼저 가장 외부적 인 괄호 표현입니다.
- 그런 다음 서버는 가장 제한적인 표현식을 먼저 평가하도록 순서를 변경합니다.
복합 검색 필터는 다음과 같은 완료된 표현식에 함께 중첩될 때 가장 유용합니다.
(<boolean-operator>(filter)((<boolean-operator>(filter)(filter))))
복합 필터를 다른 유형의 검색(약관, 하위 문자열 및 기타 연산자)과 결합하여 자세한 결과를 얻을 수 있습니다. 다음 예제 필터는 조직 단위(ou)가 마케팅 으로 있고 설명 속성이 하위 문자열 X.500 를 포함하지 않는 모든 항목을 반환합니다.
(&(ou=Marketing)(!(description=*X.500*)))
또한 관리자를 example 또는 demo 로 설정한 항목을 반환하도록 필터를 확장할 수 있습니다.
(&(ou=Marketing)(!(description=*X.500*))(|(manager=cn=example,ou=Marketing,dc=example,dc=com)(manager=cn=demo,ou=Marketing,dc=example,dc=com)))
다음 예제 필터는 사용자를 나타내지 않는 모든 항목을 반환합니다.
(!(objectClass=person))
다음 필터는 사용자를 나타내지 않는 모든 항목을 반환하고 공통 이름(cn)은 printer3b 와 유사합니다.
(&(!(objectClass=person))(cn~=printer3b))