Your SlideShare is downloading. ×
Ldap
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Ldap

389
views

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
389
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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

    • 1. LDAP
    • 2. LDAPLightweight Directory Access ProtocolNo crap, just what you need to know about it.
    • 3. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    • 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. Bekend(st)e voorbeelden:‣ Microsoft Active Directory‣ Apache Directory Server‣ OpenLDAP‣ Red Hat Directory Server‣ IBM Tivoli Directory Server
    • 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. 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. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    • 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. /** * 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. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    • 12. Opbouw lterstring• wildcard: *• 1 attribuut: “(<attribuutnaam>=<waarde>)”• AND: “(&(<a1>=<w1>)(<a2>=<w2>))”• OR: “(|(<a1>=<w1>)(<a2>=<w2>))”• NOT: “(!(<attribuutnaam>=<waarde>))”
    • 13. 1. De nities2. Gebruik in php3. Opbouw lterstring4. Nog iets?
    • 14. De wildcard kan, afhankelijk van deserver, niet gebruikt worden op het beginvan een zoekterm (rara welke)
    • 15. Met de juiste dn bereik je alles
    • 16. Attributen ALTIJD als lowercase opgeven!
    • 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. Wachtwoorden van de users binnen de ActiveDirectory zijn niet (zo maar) te achterhalen.
    • 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. http://docs.php.net/manual/en/book.ldap.php
    • 21. QUESTIONS?
    • 22. twitter.com/dofkendavyvanvooren@netlash.comwww.netlash.com