LDAP Problem

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

  • LDAP Problem

    Hallo Leute

    auch nach umfangreicher Suche konnte ich das Problem nicht lösen

    ich hab eine ldap connection auf ein Active Directorie

    PHP-Code:
    // Verbindung zu LDAP
    $ldapconn ldap_connect$ldaphost$ldapport 
              or die( 
    "Keine Verbindung zu {$ldaphost} möglich" );
    ldap_set_option($ldapconnLDAP_OPT_PROTOCOL_VERSION3);
    ldap_set_option($ldapconnLDAP_OPT_REFERRALS0);
    $ldapbind ldap_bind($ldapconn,'cn=dvintranet,OU=Dienste,OU=Benutzer,OU=Administration,DC=meine firma,DC=lan','password'
    or die( 
    "!Keine Verbindung zu {$ldaphost} möglich" );
    $dn "OU=Global,OU=Gruppen,OU=Administration,DC=meine Firma,DC=lan";
    $filter='(&(objectclass=group) (name=EDV*)(member=*))';
    $justthese = array("name","member");
    $sr=ldap_search($ldapconn$dn$filter$justthese) or die(ldap_error());
    $info ldap_get_entries($ldapconn$sr);
    print 
    $info["count"]." gefundene Einträge<p>";
    foreach(
    $info as $line)
    {
        echo 
    $line['name'][0]."<br>";

    gibt eine korrekte Ausgabe

    PHP-Code:
    .... 
    => string 'CN=Nachname\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine firma,DC=lan' (length=86
    ändere ich diese Zeile

    PHP-Code:
    $filter='(&(objectclass=group) (name=EDV*)(member=CN=*))'
    bekomme ich keine Ausgabe mehr

    PHP-Code:
    0 gefundene Einträge

    array
      
    'count' => int 0 
    einer von euch eine Idee wie ich den Filter anpassen sollte?

    Danke
    Zuletzt geändert von martin_duisburg; 05.08.2010, 16:57.
    ad astra
    --- bin nun mal Perry Rhodan Fan ---

  • #2
    Wo du genaueres zu diesen Filtern nachlesen kannst, steht im Manual.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      @Wahsaga

      wenn mir das helfen würde
      würde ich hier nicht fragen :-)

      du kannst sicher sein das ich nicht fragen würde wenn ich nicht schon eine Weile suchen würde.
      ad astra
      --- bin nun mal Perry Rhodan Fan ---

      Kommentar


      • #4
        Na dann solltest du vielleicht wenigstens mal beschreiben, nach was du eigentlich filtern willst.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          nach member

          PHP-Code:
          $filter='(&(objectclass=group) (name=EDV*)(member=CN*))'
          ich filter nach der Gruppe EDV

          PHP-Code:
          $filter='(&(objectclass=group) (name=EDV*))'
          das Ergebnis sieht dann so aus

          PHP-Code:
          => 
              array
                
          'member' => 
                  array
                    
          'count' => int 8
                    0 
          => string 'CN=Name\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine Firma,DC=lan' (length=87)
                    
          => string 'CN=name\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine Firma,DC=lan' (length=90)
          ....
                
          => string 'member' (length=6)
                
          'name' => 
                  array
                    
          'count' => int 1
                    0 
          => string 'EDV_System' (length=10)
                
          => string 'name' (length=4)
                
          'count' => int 2
                
          'dn' => string 'CN=EDV_System,OU=Global,OU=Gruppen,OU=Administration,DC=meine firma,DC=lan' (length=71)
          .... 

          erweiter ich den Filter

          PHP-Code:
          $filter='(&(objectclass=group) (name=EDV*)(member=*))'
          bekomme ich das selbe Ergebnis

          aber ab hier steigt er aus!

          PHP-Code:
          $filter='(&(objectclass=group) (name=EDV*)(member=CN*))'
          Zuletzt geändert von martin_duisburg; 05.08.2010, 17:50.
          ad astra
          --- bin nun mal Perry Rhodan Fan ---

          Kommentar


          • #6
            Könnte es sein, dass das zweifach auftauchende Gleichheitszeichen problematisch ist?
            Dass das zweite davon, das ja gesuchten Inhalt und nicht Vergleichsoperator darstellen soll, irgendwie maskiert werden muss?


            Edit: Ach so, das hast du jetzt schon weggelassen - ursprünglich war's mal drin.
            Zuletzt geändert von wahsaga; 05.08.2010, 17:48.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              den verdacht hatte ich auch schon

              habs schon mit
              PHP-Code:
              $filter='(&(objectclass=group) (name=EDV*)(member=CN\=*))'
              bzw

              PHP-Code:
              $filter='(&(objectclass=group) (name=EDV*)(member=CN\\=*))'
              probiert

              das führt nur zur

              PHP-Code:
               Warningldap_search() [function.ldap-search]: SearchBad search filter 
              bin leider inzwischen echt ratlos....
              ad astra
              --- bin nun mal Perry Rhodan Fan ---

              Kommentar


              • #8
                Versuche es mal mit \3d statt dem =.
                http://www.faqs.org/rfcs/rfc2254.html

                Kommentar


                • #9
                  Problem gelöst:

                  wie schon vermutet ist das Quoting das Problem,

                  wenn ich einen Sting durchsuche dann möchte er

                  PHP-Code:
                  $string="CN=vorname\ nachname...... 
                  so
                  PHP-Code:
                  $string="CN=vorname\\5C nachname.... 
                  haben....
                  ad astra
                  --- bin nun mal Perry Rhodan Fan ---

                  Kommentar

                  Lädt...
                  X