Fehler in LDAP Filter zusammenbau
-
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 -> objectClassdie 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=deder 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 -
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 -
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ß
-
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 -
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