Ich erstelle gerade eine Webapplikation, die Benutzerdaten aus dem Active Directory suchen und anzeigen soll. Dabei können Name und/oder Vorname und/oder Ausweisnummer (gespeichert unter 'Beschreibung') als Suchbegriff eingegeben werden.
Mein Code sieht so aus:
Funktionieren tut es so nicht.
Daher meine Frage: wie muss der String in der Variablen '$pattern' aussehen, damit nach Benutzern mit dem entsprechenden Namen und Ausweisnummer gesucht wird?
Mein Code sieht so aus:
PHP-Code:
public function searchADUser($filter) {
$con = ldap_connect($this->config['connection']);
ldap_set_option($con, LDAP_OPT_REFERRALS, 0);
ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
$givenname = 'givenname='.$filter['name'].$filter['vorname'].'*';
$description = 'description='.$filter['ausweisnummer'].'*';
$pattern = '(&('.$givenname.')('.$description.'))';
if ($con) {
ldap_bind($con, $this->config['user'], $this->config['password']);
$result = ldap_search($con, "DC=personalkarte,DC=local",$pattern);
$userinfo = ldap_get_entries($con, $result);
if (count($userinfo) === 0) {
return false;
} else {
return userinfo;
}
}
}
Daher meine Frage: wie muss der String in der Variablen '$pattern' aussehen, damit nach Benutzern mit dem entsprechenden Namen und Ausweisnummer gesucht wird?
Kommentar