This topic deals with the syntax and rules for an LDAP filter, which is a normal string which expresses the criteria for the filter.
Sintassi di base del filtro LDAP e operatori
I filtri LDAP sono costituiti da uno o più criteri. Se in una definizione di filtro esiste più di un criterio, questi possono essere concatenati tramite operatori logici AND o OR . Gli operatori logici vengono sempre posizionati davanti agli operandi (cioè i criteri). Questa è la cosiddetta 'Notazione Polacca'.
I criteri di ricerca devono essere racchiusi tra parentesi e l'intero termine deve poi essere racchiuso tra parentesi un'altra volta.
Operazione AND:
(& (…K1…) (…K2…)) oppure con più di due criteri: (& (…K1…) (…K2…) (…K3…) (…K4…))
Operazione OR:
(| (…K1…) (…K2…)) oppure con più di due criteri: (| (…K1…) (…K2…) (…K3…) (…K4…))
Operazione annidata:
Ogni operazione AND/OR può anche essere intesa come un singolo criterio:
(|(& (…K1…) (…K2…))(& (…K3…) (…K4…))) significa: (K1 AND K2) OR (K3 AND K4)
I criteri di ricerca consistono in un requisito per un attributo LDAP, ad es. (givenName=Sandra). Vanno considerate le seguenti regole:
| Uguaglianza: | (attribute=abc) , ad es. (&(objectclass=user)(displayName=Foeckeler) |
| Negazione: | (!(attribute=abc)) , ad es. (!objectClass=group) |
| Presenza: | (attribute=*) , ad es. (mailNickName=*) |
| Assenza: | (!(attribute=*)) , ad es. (!proxyAddresses=*) |
| Maggiore di: | (attribute>=abc) , ad es. (mdbStorageQuota>=100000) |
| Minore di: | (attribute<=abc) , ad es. (mdbStorageQuota<=100000) |
| Prossimità: | (attribute~=abc) , ad es. (displayName~=Foeckeler) Attenzione: ~= viene trattato come = negli ambienti ADS !! |
| Caratteri jolly: | ad es. (sn=F*) oppure (mail=*@cerrotorre.de) oppure (givenName=*Paul*) |