Szenarien der Verwendung Szenarien der Authentifizierung OpenLDAP ActiveDirectory Grundsätzliche CRUD Operationen Daten von LDAP empfangen Einen Eintrag durch seinen DN erhalten bind(); $hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); /* $hm is an array of the following structure array( 'dn' => 'cn=Hugo Müller,ou=People,dc=my,dc=local', 'cn' => array('Hugo Müller'), 'sn' => array('Müller'), 'objectclass' => array('inetOrgPerson', 'top'), ... ) */ ]]> Die Existenz eines angegebenen DN prüfen bind(); $isThere = $ldap->exists('cn=Hugo Müller,ou=People,dc=my,dc=local'); ]]> Kinder eines angegebenen DN zählen bind(); $childrenCount = $ldap->countChildren( 'cn=Hugo Müller,ou=People,dc=my,dc=local'); ]]> Im LDAP Baum suchen bind(); $result = $ldap->search('(objectclass=*)', 'ou=People,dc=my,dc=local', Zend_Ldap_Ext::SEARCH_SCOPE_ONE); foreach ($result as $item) { echo $item["dn"] . ': ' . $item['cn'][0] . PHP_EOL; } ]]> Daten zu LDAP hinzufügen Einen neuen Eintrag zu LDAP hinzufügen bind(); $entry = array(); Zend_Ldap_Attribute::setAttribute($entry, 'cn', 'Hans Meier'); Zend_Ldap_Attribute::setAttribute($entry, 'sn', 'Meier'); Zend_Ldap_Attribute::setAttribute($entry, 'objectClass', 'inetOrgPerson'); $ldap->add('cn=Hans Meier,ou=People,dc=my,dc=local', $entry); ]]> In LDAP löschen Einen existierenden Eintrag von LDAP löschen bind(); $ldap->delete('cn=Hans Meier,ou=People,dc=my,dc=local'); ]]> LDAP aktualisieren Einen existierenden Eintrag in LDAP aktualisieren bind(); $hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); Zend_Ldap_Attribute::setAttribute($hm, 'mail', 'mueller@my.local'); Zend_Ldap_Attribute::setPassword($hm, 'newPa$$w0rd', Zend_Ldap_Attribute::PASSWORD_HASH_SHA1); $ldap->update('cn=Hugo Müller,ou=People,dc=my,dc=local', $hm); ]]> Erweiterte Operationen Kopieren und Verschieben von Einträgen in LDAP Einen LDAP Eintrag mit allen seinen Abhängigkeiten rekursiv kopieren bind(); $ldap->copy('cn=Hugo Müller,ou=People,dc=my,dc=local', 'cn=Hans Meier,ou=People,dc=my,dc=local', true); ]]> Einen LDAP Eintrag rekursiv in einen anderen Unterbaum verschieben mit allen seinen Abhängigkeiten bind(); $ldap->moveToSubtree('cn=Hugo Müller,ou=People,dc=my,dc=local', 'ou=Dismissed,dc=my,dc=local', true); ]]>