Ich verwende FreeIPA als LDAP-Backend für meine flask-app. Bisher habe ich flaschen simpleldap mit OpenLDAP verwendet, um die Gruppenmitgliedschaft eines Benutzers zu erhalten, die mit den folgenden Optionen gut funktioniert:Liste aller LDAP-Gruppenmitgliedschaften abrufen
LDAP_BASE_DN="dc=myrealm,dc=com"
LDAP_REALM_NAME="MyFunRealm"
LDAP_OBJECTS_DN="dn"
LDAP_USER_OBJECT_FILTER="(&(objectclass=inetorgperson)(uid=%s))"
LDAP_GROUP_MEMBERS_FIELD="member"
LDAP_GROUP_OBJECT_FILTER="(&(objectclass=groupofnames)(member=%s))"
LDAP_GROUP_MEMBER_FILTER="member=%s"
LDAP_GROUP_MEMBER_FILTER_FIELD="cn"
Ich möchte die LDAP-Struktur meiner Benutzer ändern Gruppen in Gruppen zu platzieren , aber die obigen Einstellungen geben nur die Gruppe "erste Stufe" der Benutzer. (Entschuldigung, ich bin nicht vertraut mit LDAP und seiner Terminologie).
Wie kann ich die Abfrage/den Filter ändern, um eine Liste aller Gruppen, denen der Benutzer angehört, durch Gruppenmitgliedschaft zu erhalten?
Was meinst du mit Gruppe in Gruppe? Der Filter '(& (objectclass = groupofnames) (member =% s))' gibt Ihnen alle Gruppen, die der Benutzer '% s'' memberOf' ist, unabhängig davon, wo sich die Gruppe in der Baumstruktur befindet. – Esteban
Eine Gruppe könnte Benutzer oder andere Gruppen enthalten. Wenn sich ein Benutzer in einer Gruppe befindet, die Mitglied einer anderen Gruppe ist, möchte ich, dass beide Gruppen in der Suche angezeigt werden. Die Suche in meiner Frage gibt nur die direkte Gruppenmitgliedschaft zurück. – Lars