Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Fehler in LDAP Filter zusammenbau

    Scheduled Pinned Locked Moved Entwicklung
    5 Posts 2 Posters 2.1k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      computersalat
      last edited by

      zur Zeit ist folgernder Filter definiert:
      (&(objectClass=top)(objectClass=posixAccount))

      Die Attribut-mappings sind wie folgt:
      Username -> uid
      Groups -> memberUid
      Firstname -> givenName
      Lastname -> sn
      Mail address  ->
      Object class -> objectClass

      die autom. Mappings bzgl. Gruppenzuweisung sind auch gesetzt.

      Wenn ich mich nun mit einem 'ldap-user' anmelden möchte, dann wird der Filter 'falsch' zusammengebaut.
      –-snip debug log----
      2013-02-08 14:52:22 ldap: Creating new ldap-library connection to: 127.0.0.1:389, user: uid=search,ou=system,dc=example,dc=de
      2013-02-08 14:52:22 ldap: Connected to 127.0.0.1
      2013-02-08 14:52:22 ldap: Searching for username: cw
      2013-02-08 14:52:22 ldap: Getting user(s) using filter: (&(&(objectClass=top)(objectClass=posixAccount)(uid=cw)) in search-path: ou=people,dc=example,dc=de
      2013-02-08 14:52:22 ldap: ** No user found.
      2013-02-08 14:52:22 ldap: User not found. Check if cw exist in your configured search-path: ou=people,dc=example,dc=de

      der verwendete Filter:
      (&(&(objectClass=top)(objectClass=posixAccount)(uid=cw))

      müßte aber so aussehen:
      (&(objectClass=top)(objectClass=posixAccount)(uid=cw))

      da ist vorne ein "(&" zuviel.

      wäre toll, wenn ich dafür einen patch bekommen könnte.
      Danke
      Gruß
      Chris

      1 Reply Last reply Reply Quote 0
      • C Offline
        computersalat
        last edited by

        Ich bin begeistert, wie sehr man sich hier um Fehler kümmert.
        Es scheint niemanden wirklich zu interessieren.
        Ich wär ja schon mit einem Tip zufrieden, der mir aufzeigt, wo im CODE ich danach suchen kann.

        Mit einem vernünftigen Bug-tracker wäre das wahrscheinlich anders.

        Gruß
        Chris

        1 Reply Last reply Reply Quote 0
        • creissC Offline
          creiss i-doit Kenner
          last edited by

          Hi,

          das hier ist ein User-Forum. Wenn du das Produkt gekauft und einen Supportvertrag mit uns abgeschlossen hast, bekommst du selbstverständlich immer zeitig eine Antwort.

          Da ich meine Glaskugel frisch geputzt habe, glaube ich zu wissen, dass du eine ältere Version einsetzt (die Open 0.9.9-7?), in der es den Fehler mal gab (in der neuen gibt es den natürlich nicht mehr). Der einzige Fix dafür ist, den Filter zu erstellen wie er benötigt wird und dann in der Datenbank händisch das "(&" aus dem Filter zu löschen.

          Lieben Gruß

          NEU - i-doit und IT-Dokumentation bei YouTube: https://www.youtube.com/@donamic_de
          Komplett-Strategie: https://i-doit-trainings.de/it-dokumentation-komplett-strategie/
          i-doit Mastery – https://i-doit-trainings.de/i-doit-mastery

          1 Reply Last reply Reply Quote 0
          • C Offline
            computersalat
            last edited by

            Hi,

            danke für den Tip. Der Fix hilft aber nur dann, wenn and den definierten Filter noch was angehängt wird und der definierte FIlter vorne kein '(&' hat.
            Wenn der Fehler behoben wurde (in den neuen Versionen), dann muß es doch auch möglich sein einen Patch dafür zu liefern, oder ?

            Deine Glaskugel hat recht, es ist die 0.9.9-7, denn das ist die aktuellste, welche ich herunterladen kann, oder hab ich das was übersehen ?
            Falls ich nichts übersehen habe, wann ist mit einer neueren, freien Version zu rechnen ?

            Gruß
            Chris

            1 Reply Last reply Reply Quote 0
            • C Offline
              computersalat
              last edited by

              Hi,

              hab den Filter jetzt manuell in der DB angepasst.

              
              2013-04-02 11:48:32 ldap: ----------------------------------------------------------------------------------------------
              2013-04-02 11:48:32 ldap: Creating new ldap-library connection to: 127.0.0.1:389, user: uid=search,ou=system,dc=xm,dc=de
              2013-04-02 11:48:32 ldap: Connected to 127.0.0.1
              2013-04-02 11:48:32 ldap: Trying to auth with DN: uid=cw,ou=people,dc=xm,dc=de
              2013-04-02 11:48:32 ldap:  + uid=cw,ou=people,dc=xm,dc=de / cw authenticated.
              2013-04-02 11:48:32 ldap: Getting user(s) using filter: (&(objectClass=top)(objectClass=posixAccount)(uid=cw)) in search-path: ou=people,dc=xm,dc=de
              2013-04-02 11:48:32 ldap: ** No user found.
              2013-04-02 11:48:32 ldap: ----------------------------------------------------------------------------------------------
              
              

              wenn ich das baer auf der console loslasse, dann findet man den user:

              
              root@squeeze-dev:~# ldapsearch -H ldap://127.0.0.1/ -D uid=search,ou=system,dc=xm,dc=de -b dc=xm,dc=de -x "(&(objectClass=top)(objectClass=posixAccount)(uid=cw))"
              # extended LDIF
              #
              # LDAPv3
              # base <dc=xm,dc=de>with scope subtree
              # filter: (&(objectClass=top)(objectClass=posixAccount)(uid=cw))
              # requesting: ALL
              #
              
              # cw, people, xm.de
              dn: uid=cw,ou=people,dc=xm,dc=de
              uid: cw
              cn: Christian xxxxxxx
              givenName: Christian
              sn: xxxxxxx
              uidNumber: 2290
              gidNumber: 2290
              shadowMin: -1
              shadowMax: 999999
              shadowWarning: 7
              shadowInactive: -1
              shadowExpire: -1
              shadowFlag: 0
              homeDirectory: /home/cw
              loginShell: /bin/bash
              o: xm
              
              # search result
              search: 2
              result: 0 Success
              
              # numResponses: 2
              # numEntries: 1</dc=xm,dc=de> 
              

              kann jemand bitte helfen ?

              Danke vielmals.
              Gruß
              Chris

              1 Reply Last reply Reply Quote 0
              • First post
                Last post