Signatur
Beschreibung
ldap_dn2ufn wandelt einen LDAP-Distinguished-Name (DN) in ein sogenanntes User Friendly Name-Format (UFN) um, das für Menschen leichter lesbar ist. Dabei werden die Attributbezeichner (z. B. cn=, dc=, ou=) entfernt und die einzelnen Komponenten durch Kommas getrennt zusammengefügt.
Ein DN wie cn=Max Mustermann,ou=Mitarbeiter,dc=example,dc=com wird beispielsweise zu Max Mustermann, Mitarbeiter, example, com. Dieses Format eignet sich gut für die Anzeige in Benutzeroberflächen, bei denen ein vollständiger technischer DN für den Endnutzer unübersichtlich wäre.
Die Funktion ist nützlich, wenn LDAP-Verzeichniseinträge in einer für Endbenutzer verständlichen Form präsentiert werden sollen, z. B. in Adressbüchern, Benutzerauswahllisten oder Protokollen. Sie sollte jedoch nicht für sicherheitskritische Vergleiche oder Verarbeitungen verwendet werden, da das UFN-Format mehrdeutig sein kann.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $dn Pflicht | string | Der LDAP-Distinguished-Name (DN), der in ein benutzerfreundliches Format umgewandelt werden soll, z. B. cn=Max Mustermann,ou=Mitarbeiter,dc=example,dc=com. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache DN-Umwandlung in UFN
<?php
$dn = 'cn=Max Mustermann,ou=Mitarbeiter,dc=example,dc=com';
$ufn = ldap_dn2ufn($dn);
if ($ufn !== false) {
echo "UFN: " . $ufn . PHP_EOL;
} else {
echo "Fehler bei der Umwandlung." . PHP_EOL;
}
?>
UFN-Anzeige nach LDAP-Suche
<?php
$ldap = ldap_connect('ldap://ldap.example.com');
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_bind($ldap, 'cn=admin,dc=example,dc=com', 'geheim');
$result = ldap_search($ldap, 'dc=example,dc=com', '(objectClass=person)', ['dn', 'cn']);
$entries = ldap_get_entries($ldap, $result);
foreach ($entries as $entry) {
if (isset($entry['dn'])) {
$ufn = ldap_dn2ufn($entry['dn']);
echo "Benutzer: " . $ufn . PHP_EOL;
}
}
ldap_unbind($ldap);
?>
// Wichtig · Fallstricke
Mehrdeutigkeit: Das UFN-Format ist nicht umkehrbar eindeutig – aus einem UFN kann nicht zuverlässig der ursprüngliche DN rekonstruiert werden. Verwenden Sie für programmatische Verarbeitung oder Vergleiche stets den originalen DN.
Nur zur Anzeige: ldap_dn2ufn ist ausschließlich für die Präsentation gegenüber Endbenutzern gedacht. Für sicherheitskritische Operationen wie Authentifizierung oder Zugriffssteuerung sollte immer der vollständige, kanonische DN genutzt werden.
Die LDAP-Erweiterung muss in PHP aktiviert sein (Kompilierung mit --with-ldap oder entsprechende Erweiterung in php.ini aktivieren).