1 / 17

Protokol LDAP

Protokol LDAP. autor: Zdeněk Jonáš předmět: PSI mail: jonasz@dione.zcu.cz un: A01144. Osnova prezentace . Co je to LDAP Struktura databáze LDAP Základní funkce LDAP Programování v jazyce C Ukázka v jazyce PHP Zdroje a odkazy Závěr. Co je to LDAP.

idana
Download Presentation

Protokol LDAP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Protokol LDAP autor: Zdeněk Jonáš předmět: PSI mail: jonasz@dione.zcu.cz un: A01144

  2. Osnova prezentace • Co je to LDAP • Struktura databáze LDAP • Základní funkce LDAP • Programování v jazyce C • Ukázka v jazyce PHP • Zdroje a odkazy • Závěr

  3. Co je to LDAP • LDAP - Lightweight Directory Access Protocol • Vyvinut na univerzitě Michiganu • Protokol pro čtení a správu adresářových služeb. • Primární využití: Získání dat o uživateli • Podpora zabezpečení SSL • Realizován nad TCP

  4. Struktura databáze LDAP • Příklad uspořádání databáze

  5. Struktura databáze na ZČU

  6. Program LDAP Browser

  7. LDAP Browser použit na ZČU

  8. Základní funkce LDAP • Vyhledávání a navracení položek z adresářů • Přidání nových položek • Úpravu stávajících • Smazání položek • Přejmenování položek

  9. Typy paketů LDAP • Application number Application • 0 BindRequest • 1 BindResponse • 2 UnbindRequest • 3 SearchRequest • 4 SearchResponse • 5 ModifyRequest

  10. Typy paketů LDAP • 6 ModifyResponse • 7 AddRequest • 8 AddResponse • 9 DelRequest • 10 DelResponse • 11 ModifyRDNRequest • 12 ModifyRDNResponse • 13 CompareRequest • 14 CompareResponse • 15 AbandonRequest

  11. Programování v jazyce C • Hlavičkový soubor #include <ldap.h> • Překlad nutno přeložit s parametrem: gcc ldap.c -L/usr/ldap/lib –lldap

  12. Vytvoření handlu LDAP *ld; if ( (ld = ldap_init( HOSTNAME, PORT_NUMBER )) == NULL ) { perror( "ldap_init" ); return( 1 ); }

  13. Anonymní připojení rc = ldap_simple_bind_s( ld, NULL, NULL ); if ( rc != LDAP_SUCCESS ) { fprintf(stderr, "ldap_simple_bind_s: %s\n", ldap_err2string(rc)); return( 1 ); }

  14. Ukázka kódu v PHP $ldapServer = "ldap.zcu.cz"; $ldapPort = 389; $ldapBase = "ou=rfc2307,o=zcu,c=cz"; ## vlastni pripojeni k LDAP serveru $ds=ldap_connect($ldapServer, $ldapPort); if ($ds) { //use LDAPv3 as default to bind if (!ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) echo "Failed to set protocol version to 3";

  15. Ukázka kódu v PHP //anonymous bind $r=ldap_bind($ds); $ldapFilter = "uid=jonasz"; $sr=ldap_search($ds,$ldapBase,$ldapFilter); $info = ldap_get_entries($ds, $sr); print_r($info); } else { echo "<h4>Unable to connect to LDAP server</h4>"; }

  16. Program ldapsearch ldapsearch -x -h ldap.zcu.cz -b 'ou=rfc2307,o=zcu,c=cz' 'uid=jonasz' memberof version: 2 # filter: uid=jonasz # requesting: memberof # jonasz, Users, rfc2307, zcu, cz dn: uid=jonasz,ou=Users,ou=rfc2307,o=zcu,c=cz memberof: cn=stud-kat-kts,ou=Groups,ou=rfc2307,o=zcu,c=cz memberof: cn=students,ou=Groups,ou=rfc2307,o=zcu,c=cz memberof: cn=stud-kat-kfi,ou=Groups,ou=rfc2307,o=zcu,c=cz … # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1

  17. Odkazy na zdroje http://www2.dmi.columbia.edu/misc/docs/ Velmi dobré. http://www.root.cz/clanky/lehky-uvod-do-ldap/ http://www.fi.muni.cz/~kas/p090/referaty/2004-podzim/st/ldap.html http://www.tldp.org/HOWTO/LDAP-HOWTO/

More Related