Virtual LDAP
      kako natjerati strgane
    aplikacije da koriste LDAP


            Dobrica Pavlinušić
HULK, Knjižnica ...
Zašto?

 Prijava u knjižnični sustav
  (Koha) s LDAP računima,
 kopiranje s RFID karticama

Aplikacije imaju podršku za LD...
Lightweight?
Lightweight Directory Access Protocol

●   Fiksna shema
    –   AAI@EduHr
●   Stablasta struktura
    –   HrEduPerson 
 ...
Povezati sustave 
●   OpenLDAP              ●   Koha
    –   ldap.ffzg.hr          –   Import korisnika
    –   AAI@EduHr...
AAI@EduHr LDAP shema
                  http://www.aaiedu.hr/

dn:uid=kohatest,dc=ffzg,dc=hr
                           uid...
LDAP konfiguracija aplikacija
●   Koha
     – sprintf format za bind (%s)
    –   Auth by bind
    –   Mapiranje LDAP atri...
Naša knjižnica
                                  bind %s
                              HrEduPersonUniqueID
               ...
Virtualno vješenje?



Kada bi smo barem mogli nekako utjecati na
 to kako ti sustavi pričaju LDAP-om jedan s
            ...
Virtual LDAP

                            ldap-rewrite
login@ffzg.hr
                              dn.yaml



          ...
ldap-rewrite
●   Prepiši bind login (isti kao na web-u)
     – HrEduPersonUniqueID: dpavlin@ffzg.hr
     – bind DN: uid=dp...
studenti.csv
UTF-16 Windows CSV file

dn;jmbg;jmbag;prezime;ime;spol;datum_rodjenj
a;mjesto_i_drzava_rodjenja;prebivaliste...
csv2yaml
●   Ponavljajuće vrijednosti odvojene sa #
●   Odrola ponavljanja u nove elemente:
     – address       [ street,...
uid=kohatest,dc=ffzg,dc=hr.yaml
---                                     dn:uid=kohatest,dc=ffzg,dc=hr

datum_rodjenja: 199...
Uf, a kopirke?
ldap-koha
●   LDAP server koji koristi Koha MySQL bazu
●   RFID SID kao LDAP filter 
     – pager=E00401001F77E218
●   SQ...
Zašto testirati?
●   bind & search testovi
     –   BUG: ldap-rewrite konekcije na LDAP
         server (nakon godinu dana...
Više informacija
●   Virtual LDAP project
    –   https://www.ohloh.net/p/virtual-ldap

●   Source code
    –   http://svn...
Pitanja?
   42
Upcoming SlideShare
Loading in …5
×

Virtual LDAP - kako natjerati strgane aplikacije da koriste LDAP

1,130
-1

Published on

If you have application with LDAP support and existing LDAP server which you don't want to modify you have a problem.

Virtual LDAP will give you ability to rewrite LDAP requests and responses on the fly (using ldap-rewrite.pl) or provide LDAP server on top of your existing RDBMS if you need to export data as LDAP server (using virtual-ldap.pl)

https://www.ohloh.net/p/virtual-ldap

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,130
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Virtual LDAP - kako natjerati strgane aplikacije da koriste LDAP

  1. 1. Virtual LDAP kako natjerati strgane aplikacije da koriste LDAP Dobrica Pavlinušić HULK, Knjižnica Filozofskog fakulteta u Zagrebu HULK, Zagreb, 25. veljače 2010.
  2. 2. Zašto? Prijava u knjižnični sustav (Koha) s LDAP računima, kopiranje s RFID karticama Aplikacije imaju podršku za LDAP pa nema problema, zar ne?
  3. 3. Lightweight?
  4. 4. Lightweight Directory Access Protocol ● Fiksna shema – AAI@EduHr ● Stablasta struktura – HrEduPerson  ● passwords  – authby bind – compare (prava na LDAP serveru) – Grupe ● group ● groupOfNames ● groupOfUniqueNames
  5. 5. Povezati sustave  ● OpenLDAP ● Koha – ldap.ffzg.hr – Import korisnika – AAI@EduHr – Logiranje sa LDAP shema lozinkom – Grupe korisnika ● Referada ● SAFEQ – CSV datoteka sa – Import korisnika adresama – Grupe korisnika iz Kohe
  6. 6. AAI@EduHr LDAP shema http://www.aaiedu.hr/ dn:uid=kohatest,dc=ffzg,dc=hr uid: kohatest hrEduPersonUniqueNumber: LOCAL_NO: 1234kohatest givenName: Koha mail: knjiznica@ffzg.hr hrEduPersonPrimaryAffiliation: student hrEduPersonExpireDate: 20101031 o: Filozofski fakultet u Zagrebu l: Zagreb postalAddress: Filozofski fakultet u Zagrebu, Ivana Lucica 3, HR-10000 Zagreb hrEduPersonHomeOrg: ffzg.hr hrEduPersonAffiliation: student hrEduPersonUniqueID: kohatest@ffzg.hr objectClass: hrEduPerson sambaSamAccount sambaSID: kohatest userPassword: {SHA} sambaLMPassword: HASH sambaNTPassword: HASH cn: Koha Testičić Probišić Đž sn: Testičić Probišić Đž
  7. 7. LDAP konfiguracija aplikacija ● Koha – sprintf format za bind (%s) – Auth by bind – Mapiranje LDAP atributa u polja u bazi ● Sva ponavljanja atributa se dobiju kao jedan string ● SAFEQ – pager LDAP atribut za RFID SID
  8. 8. Naša knjižnica bind %s HrEduPersonUniqueID uid=login,dc=ffzg,dc=hr login@ffzg.hr Adrese privatnost?  RFID SID? studenti.csv rfid2koha LDAP HTTP MySQL files RFID SID
  9. 9. Virtualno vješenje? Kada bi smo barem mogli nekako utjecati na to kako ti sustavi pričaju LDAP-om jedan s drugim!
  10. 10. Virtual LDAP ldap-rewrite login@ffzg.hr dn.yaml  cvs2yaml studenti.csv rfid2koha ldap-koha LDAP HTTP MySQL files RFID SID
  11. 11. ldap-rewrite ● Prepiši bind login (isti kao na web-u) – HrEduPersonUniqueID: dpavlin@ffzg.hr – bind DN: uid=dpavlin,dc=ffzg,dc=hr ● Dodaj search rezultatima LDAP servera podatke iz yaml datoteke korisnika – uid=login,dc=ffzg,dc=hr.yaml ● Dodatna polja za HrEduPersonUniqueNumber – HrEduPersonUniqueNumber JMBG:1234567890 – HrEduPersonUniqueNumber_JMBG 1234567890 ● SSL enkripcija do LDAP servera
  12. 12. studenti.csv UTF-16 Windows CSV file dn;jmbg;jmbag;prezime;ime;spol;datum_rodjenj a;mjesto_i_drzava_rodjenja;prebivaliste_drza va;prebivaliste_mjesto;prebivaliste_postansk i_broj;prebivaliste_zupanija;ml_telefoni;ml_ email_adrese;ml_postanska_adresa uid=kohatest,dc=ffzg,dc=hr;3112999000000;012 3456789;Koha;Test;Ž;1998-21-31;Zagreb # Hrvatska;HR;zagreb;10000;ZG;091/500-0000 # 01/5000001;kohatext@example.com;Ulica 42# Zagreb
  13. 13. csv2yaml ● Ponavljajuće vrijednosti odvojene sa # ● Odrola ponavljanja u nove elemente: – address [ street, city ] – address_0 street – address_1 city ● spol u M/F ● Kategorizira telefone u: – tel_fixed – tel_mobile
  14. 14. uid=kohatest,dc=ffzg,dc=hr.yaml --- dn:uid=kohatest,dc=ffzg,dc=hr datum_rodjenja: 1998-21-31 uid: kohatest dn: 'uid=kohatest,dc=ffzg,dc=hr' hrEduPersonUniqueNumber: LOCAL_NO: 1234kohatest givenName: Koha ime: Test mail: knjiznica@ffzg.hr jmbag: 0123456789 hrEduPersonPrimaryAffiliation: student hrEduPersonExpireDate: 20101031 jmbg: 3112999000000 o: Filozofski fakultet u Zagrebu l: Zagreb mjesto_i_drzava_rodjenja: postalAddress: Filozofski fakultet u Zagrebu, Ivana Lucica 3, HR-10000 - Zagreb Zagreb hrEduPersonHomeOrg: ffzg.hr - Hrvatska hrEduPersonAffiliation: student mjesto_i_drzava_rodjenja_0: Zagreb hrEduPersonUniqueID: kohatest@ffzg.hr objectClass: hrEduPerson mjesto_i_drzava_rodjenja_1: Hrvatska sambaSamAccount ml_email_adrese: kohatext@example.com sambaSID: kohatest userPassword: {SHA}0qTS06yhQv2Dqwuk0CaGsKWxqwo= ml_postanska_adresa: sambaLMPassword: 942FC74155F6172A613E9293942509F0 sambaNTPassword: 0C967E5AA27696638F85FBF1BA8F73A1 - Ulica 42 cn: Koha Testičić Probišić Đž - Zagreb sn: Testičić Probišić Đž hrEduPersonUniqueNumber_LOCAL_NO: 1234kohatest ml_postanska_adresa_0: Ulica 42 ffzg-prebivaliste_postanski_broj: 10000 ml_postanska_adresa_1: Zagreb ffzg-ml_postanska_adresa_1: Zagreb ffzg-ml_postanska_adresa_0: Ulica 42 ml_telefoni: ffzg-mjesto_i_drzava_rodjenja_0: Zagreb - 091/500-0000 ffzg-ml_telefoni_fixed: ffzg-ml_telefoni: 01/5000001 091/500-0000 - 01/5000001 01/5000001 ffzg-datum_rodjenja: 1998-21-31 ml_telefoni_0: 091/500-0000 ffzg-prezime: Koha ml_telefoni_1: 01/5000001 ffzg-prebivaliste_zupanija: ZG ffzg-spol: F ml_telefoni_fixed: 01/5000001 ffzg-ml_telefoni_mobile: 091/500-0000 ml_telefoni_mobile: 091/500-0000 ffzg-jmbg: 3112999000000 ffzg-ime: Test prebivaliste_drzava: HR ffzg-mjesto_i_drzava_rodjenja_1: Hrvatska prebivaliste_mjesto: zagreb ffzg-prebivaliste_drzava: ffzg-mjesto_i_drzava_rodjenja: HR Zagreb prebivaliste_postanski_broj: 10000 Hrvatska ffzg-ml_telefoni_0: 091/500-0000 prebivaliste_zupanija: ZG ffzg-ml_postanska_adresa: Ulica 42 prezime: Koha Zagreb ffzg-ml_telefoni_1: 01/5000001 spol: F ffzg-ml_email_adrese: kohatext@example.com ffzg-jmbag: 0123456789 ffzg-prebivaliste_mjesto: zagreb ffzg-dn: uid=kohatest,dc=ffzg,dc=hr
  15. 15. Uf, a kopirke?
  16. 16. ldap-koha ● LDAP server koji koristi Koha MySQL bazu ● RFID SID kao LDAP filter  – pager=E00401001F77E218 ● SQL datoteka za objectClass  – sql/hreduperson.sql – sql/organizationalunit.sql – sql/group.sql ● pretvara LDAP filter u SQL where  ● Grupe korisnika iz Kohe  – Različita prava korištenja kopirki
  17. 17. Zašto testirati? ● bind & search testovi – BUG: ldap-rewrite konekcije na LDAP server (nakon godinu dana u produkciji) ● Integracija sa Kohom – Obriši testnog korisnika – Ulogiraj korisnika – BUG: Koha ne radi u kombinaciji auth by bind i replikacije (bugs.koha.org#4256) dpavlin@koha:/srv/virtual-ldap$ wc -c t/*.t t/koha/*.t 1216 t/ldap-koha.t 1055 t/ldap-rewrite.t 737 t/koha/01-remove-test-user.t 769 t/koha/02-create-test-user.t 3777 total
  18. 18. Više informacija ● Virtual LDAP project – https://www.ohloh.net/p/virtual-ldap ● Source code – http://svn.rot13.org/index.cgi/virtual-ldap/ ● Blog  – http://blog.rot13.org/ – Tagovi: Virtual-LDAP, ldap
  19. 19. Pitanja? 42
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×