Your SlideShare is downloading. ×
LDAP
LDAPLightweight Directory Access ProtocolNo crap, just what you need to know about it.
1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
Directory•   Soort database met gegevens in een boomstructuur•   Vergelijkbaar met folderstructuur op een opslagmedium•   ...
Bekend(st)e voorbeelden:‣   Microsoft Active Directory‣   Apache Directory Server‣   OpenLDAP‣   Red Hat Directory Server‣...
dn•   = distinguishedName•   Identi ceert een object•   voorbeelden:     •   cn=John Smith,ou=Accounts,o=Netlash-bSeen,c=B...
dn     •   cn=John Smith,ou=Accounts,o=Netlash-bSeen,c=BE       •   cn=John Smith,ou=Users,dc=ncube,dc=be•   c = country• ...
1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
// maak connectie met de server$connection = ldap_connect($hostname, $port = 389); //636 voor SSL// de nieer de protocol v...
/** * acties **/// niveau waarop gestart wordt met zoeken$baseDn = "ou=Users,dc=ncube,dc=be";// attribuutnamen waarop kan ...
1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
Opbouw lterstring•   wildcard: *•   1 attribuut: “(<attribuutnaam>=<waarde>)”•   AND: “(&(<a1>=<w1>)(<a2>=<w2>))”•   OR: “...
1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
De wildcard kan, afhankelijk van deserver, niet gebruikt worden op het beginvan een zoekterm (rara welke)
Met de juiste dn bereik je alles
Attributen ALTIJD als lowercase opgeven!
Attributen zijn vast gede nieerd maar kunnen eenandere bestemming krijgen.vb:- “physicalDeliveryOf ceName” als subdepartem...
Wachtwoorden van de users binnen de ActiveDirectory zijn niet (zo maar) te achterhalen.
Hoe checken via LDAP of een user toegang heeft?$connection = ldap_connect($hostname, $port = 389);ldap_set_option($connect...
http://docs.php.net/manual/en/book.ldap.php
QUESTIONS?
twitter.com/dofkendavyvanvooren@netlash.comwww.netlash.com
Ldap
Ldap
Upcoming SlideShare
Loading in...5
×

Ldap

438

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
438
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Ldap"

    1. 1. LDAP
    2. 2. LDAPLightweight Directory Access ProtocolNo crap, just what you need to know about it.
    3. 3. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    4. 4. Directory• Soort database met gegevens in een boomstructuur• Vergelijkbaar met folderstructuur op een opslagmedium• Geen vaste structuurregels• Voorafgaande kennis van de serveropbouw noodzakelijk
    5. 5. Bekend(st)e voorbeelden:‣ Microsoft Active Directory‣ Apache Directory Server‣ OpenLDAP‣ Red Hat Directory Server‣ IBM Tivoli Directory Server
    6. 6. dn• = distinguishedName• Identi ceert een object• voorbeelden: • cn=John Smith,ou=Accounts,o=Netlash-bSeen,c=BE • cn=John Smith,ou=Users,dc=ncube,dc=be
    7. 7. dn • cn=John Smith,ou=Accounts,o=Netlash-bSeen,c=BE • cn=John Smith,ou=Users,dc=ncube,dc=be• c = country• o = organization• dc = domainComponent• ou = organizationUnit• cn = commonName
    8. 8. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    9. 9. // maak connectie met de server$connection = ldap_connect($hostname, $port = 389); //636 voor SSL// de nieer de protocol versieldap_set_option($connection, LDAP_OPT_PROTOCOL_VERSION, 3);// login (anoniem) meestal enkel read only accessldap_bind($connection);// login (met authenticatie)$userDn = "cn=apache Mod_ldap Search,ou=Service Accounts,ou=COMMON,dc=ncube,dc=be";ldap_bind($connection, $userDn, $password);/* acties */// uitloggenldap_close($connection);
    10. 10. /** * acties **/// niveau waarop gestart wordt met zoeken$baseDn = "ou=Users,dc=ncube,dc=be";// attribuutnamen waarop kan worden gezocht (goede ltering op minder velden = betere performantie)$attributeArray = array(‘samaccountname’, ‘givenname’, ‘telephonenumber’, ‘mobile’, ‘mail’, ‘info’);//limit, aantal resultaten die moet worden opgehaald$limit = 0; // 0 haalt alles op// attribuut waarop de resultaten worden gesorteerd$sortAttribute = ‘samaccountname’;// lees de data in$readData = ldap_search($connection, $baseDn, $ lter, $attributeArray, 0, $limit);// aantal resultaten$numResults = ldap_count_entries($connection, $readData);// sorteer de ingelezen resultatenldap_sort($connection, $readData, $sortAttribute);// haal de data op$info = ldap_get_entries($connection, $readData);
    11. 11. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    12. 12. Opbouw lterstring• wildcard: *• 1 attribuut: “(<attribuutnaam>=<waarde>)”• AND: “(&(<a1>=<w1>)(<a2>=<w2>))”• OR: “(|(<a1>=<w1>)(<a2>=<w2>))”• NOT: “(!(<attribuutnaam>=<waarde>))”
    13. 13. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    14. 14. De wildcard kan, afhankelijk van deserver, niet gebruikt worden op het beginvan een zoekterm (rara welke)
    15. 15. Met de juiste dn bereik je alles
    16. 16. Attributen ALTIJD als lowercase opgeven!
    17. 17. Attributen zijn vast gede nieerd maar kunnen eenandere bestemming krijgen.vb:- “physicalDeliveryOf ceName” als subdepartementbinnen een bedrijf- “postOf ceBox” als departementscode- “info” als multi-value veld (bij voorkeur 1 value/lijn)
    18. 18. Wachtwoorden van de users binnen de ActiveDirectory zijn niet (zo maar) te achterhalen.
    19. 19. Hoe checken via LDAP of een user toegang heeft?$connection = ldap_connect($hostname, $port = 389);ldap_set_option($connection, LDAP_OPT_PROTOCOL_VERSION, 3);if( ldap_bind($connection, cn= . $_SERVER[PHP_AUTH_USER] . , . $baseDn, $_SERVER[PHP_AUTH_PW])){ echo The user is valid;}else{ echo Invalid user;}
    20. 20. http://docs.php.net/manual/en/book.ldap.php
    21. 21. QUESTIONS?
    22. 22. twitter.com/dofkendavyvanvooren@netlash.comwww.netlash.com

    ×