• Save
Ldap
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Ldap

on

  • 521 views

 

Statistics

Views

Total Views
521
Views on SlideShare
521
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Ldap Presentation 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