Ankündigung

Einklappen
Keine Ankündigung bisher.

LDAP: Überprüfen ob Attribut gesetzt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LDAP: Überprüfen ob Attribut gesetzt

    Hallo,

    ich habe in meiner Klasse Ldap eine Methode get_value.

    Aufgerufen wird die Methode so:
    Code:
    $result = $this->get_value($info, "mobile");
    Hier die besagte Methode:
    Code:
    protected function get_value($info, $name, $decode = false)
    {
      $val = ldap_get_values($this->link, $info, $name);
    
      if($decode) {
        return utf8_decode($val[0]);
      }
      else {
        return $val[0];
      }
    }
    Das Problem, soweit ich es lokalisieren konnte, befindet sich bei der Funktion ldap_get_values welche den Fehler
    "ldap_get_entries(): supplied resource is not a valid ldap result resource" produziert.

    Der Fehler tritt nur auf, wenn "mobile" im ActiveDirectory nicht gesetzt ist.

    Wäre super, wenn mir jmd. einen Weg zeigen könnte, zu überprüfen ob das Feld/Attribut im AD gesetzt ist bzw. wie ich den Fehler umgehen kann.
    Das ganze kann ruhig langsam sein und Ressource brauchen, das wird nur gebraucht um einmal den AD zu einer MySQL-DB zu syncen

  • #2
    ich habe das ganze nun so gelöst

    Code:
    $allAttributes = ldap_get_attributes ( $this->link , $info );
    
    if( isset($allAttributes["mobile"]) ){
      $result = $allAttributes["mobile"][0];
    }
    Vorteil hierbei ist, dass auch nur eine Anfrage für alle Daten pro Eintrag an den AD angefragt wird.

    Kommentar

    Lädt...
    X