Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
376
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
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