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