Protokol LDAP autor:Zdeněk Jonáš předmět:PSI 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 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
Struktura databáze LDAP Příklad uspořádání databáze
Struktura databáze na ZČU
Program LDAP Browser
LDAP Browser použit na ZČU
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
Typy paketů LDAP Application number Application 0BindRequest 1BindResponse 2UnbindRequest 3SearchRequest 4SearchResponse 5ModifyRequest
Typy paketů LDAP 6ModifyResponse 7AddRequest 8AddResponse 9DelRequest 10DelResponse 11ModifyRDNRequest 12ModifyRDNResponse 13CompareRequest 14CompareResponse 15AbandonRequest
Programování v jazyce C Hlavičkový soubor #include Překlad nutno přeložit s parametrem: gcc ldap.c -L/usr/ldap/lib –lldap
Vytvoření handlu LDAP *ld; if ( (ld = ldap_init( HOSTNAME, PORT_NUMBER )) == NULL ) { perror( "ldap_init" ); return( 1 ); }
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 ); }
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";
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 " Unable to connect to LDAP server "; }
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
Odkazy na zdroje Velmi dobré. podzim/st/ldap.html