Come interrogare LDAP fingendo che sia una tabella
Posted by Alessia, Roberta, Saverio ed Antonella | Posted in LDAP , Oracle , SQL | Posted on 09:06
Questo post è per te se lavori con il db Oracle e se hai desiderato, almeno una volta, di gestire dati Ldap come se fossero tabelle relazionali (o quasi).
Qui puoi scaricare un piccolo package PL/SQL con la logica che consente di accedere ad una Directory LDAP, interrogarla mediante una query ed, infine, ottenere come risultato una tabella.
Invece di noiose spiegazioni, mettiamolo subito all'opera:
- Scaricate e decomprimete il package; va installato in qualsiasi schema di database. Non ha particolari prerequisiti. L'unico diritto richiesto è di accesso (execute grant) al package DBMS_LDAP.
- Provate, per prima, una query semplice:
select c1 from table(TL.ask('&(cn=SMITH*)',null,'C=IT'
, 'certificati.postecert.it', 'mail,cn,uid,sn' ));
SELECT tl.f (c1, 1) mail, tl.f (c1, 2) cn, tl.f (c1, 3) u_id, tl.f (c1, 4) sn FROM TABLE (tl.ask ('&(cn=SMITH*)', -- Query Conditions NULL, -- Unique ID Condition 'C=IT', -- Base dn 'certificati.postecert.it', -- Ldap Address 'mail,cn,uid,sn' -- Attributes ) );
SELECT tl.f (c1, 1) mail, tl.f (c1, 2) nomeresp, tl.f (c1, 3) cognomeresp, tl.f (c1, 4) description, tl.f (c1, 5) mails FROM TABLE (tl.ask ('&(CognomeResp=Blas*)', -- Query Conditions NULL, -- Unique ID Condition 'c=it', -- Base dn 'indicepa.gov.it', -- Ldap Address -- Attributes (fields) 'mail,NomeResp,CognomeResp,description,mailS' ) );
Se pensate che sia una cosa utile e volete qualche dettaglio tecnico in più (che abbiamo evitato per non annoiare troppo), chiedetecelo e noi cercheremo di provvedere.
Buon divertimento!
Comments Posted (0)
Posta un commento