fabio tonon wrote: > Ciao a tutti. > > Mi chiamo Fabio. E' la prima volta che scrivo..(abbiate pazienza sono un > very very neofita..). > Allora ho un dubbio amletico che mi perseguita: > Ho un applicazione che antispam. Ho diverse fonti LDAP (purtroppo sono tutte > AD). > Ecco allora il query filter è il sAMAccountname e il risultato della query > deve esser il campo mail > > Io pensavo di costruire un albero LDAP con OpenLDAP e far puntare questo a > diversi alberi AD (su diversi naming context ... ovvero domini differenti > tutti raggiungibili tramite porta 389). > > Ho letto della possibilità di compilare openldap con le opzioni > --enable-rewrite e --enable-ldap. > Non so se mi sono spiegato bene ma la mia domanda è: si può fare?
Si. In due modi: 1) back-meta: basta che compili con --enable-meta. 2) back-ldap (ed eventualmente "subordinate"): basta che compili con --enable-ldap Poi occorre capire bene che cosa ti serve: se il client cerca gia' con sAMAccountName nel filtro, e se ti va bene che i diversi alberi AD si presentino con il loro namingContext e tutto cio' che ti serve, al piu', e' che sia possibile con una sola ricerca trovare un sAMAccountName indipendentemente da quale AD lo ospita, allora ci vuole qualche accorgimento in piu' 1) back-meta: occorre definire come suffix il minimo comun denominatore tra i namingContext; alla peggio la entry vuota. Se per esempio hai "dc=esempio,dc=it" e "dc=prova,dc=it" allora basta suffix "dc=it" se invece hai "dc=esempio,dc=it" e "dc=example,dc=com" allora occorre suffix "" quindi definisci tanti "uri" quanti sono gli AD, ognuno con uri "ldap://ldap.esempio.it/dc=esempio,dc=it" uri "ldap://ldap.prova.it/dc=prova,dc=it" 2) back-ldap: se non ti serve la possibilita' di cercare con una sola operazione in tutti i database basta che definisci un database ldap per ogni AD. Se invece ti serve poter cercare tutti i database con una sola operazione occorre innanzitutto capire qual'e' il minimo comun denominatore, come prima. Quindi, occorre definire un database locale che lo contiene (ad esempio, un back-bdb). Infine, occorre definire i database remoti, aggiungendo ad ognuno "subordinate" e per ultimo il database locale, che va popolato con le entry di ricucitura fino ai database locali. Per esempio, database ldap suffix "dc=esempio,dc=it" subordinate uri "ldap://ldap.esempio.it" database ldap suffix "dc=example,dc=com" subordinate uri "ldap://ldap.example.com" database bdb suffix "" Il database va quindi popolato con le entries dn: dc=it objectClass: domain dc: it dn: dc=com objectClass: domain dc: com Se invece dovesse occorrere anche una riscrittura di namingContext o di attributi allora la cosa si complica un po', e occorre --enable-rewrite. Ciao, p. Ing. Pierangelo Masarati OpenLDAP Core Team SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: [EMAIL PROTECTED] --------------------------------------- _______________________________________________ OpenLDAP mailing list [email protected] https://www.sys-net.it/mailman/listinfo/openldap
