Re: LDAPUserFolder: Suche nach Roles

Jens Vagelpohl <[email protected]>
Newsgroups gmane.comp.web.zope.german
Organization Zetwork GmbH
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 3/18/10 15:46 , Jan Leonhardt wrote:
> 2. Ich habe acl_users, darin ein AD angebunden. Und da verschiedenen
> Usern Rollen gemappt.
> 
> 
> Nun iteriere ich über meine Workflow Items und wollte eigentlich gern
> heraus finden, welche user eine bestimmte Rolle im acl_users zugeordnet
> bekommen haben (um diese an das Workitem zu erinnern.)
> 
> Deswegen wollte ich auch acl_users
> 
> 
> Ist das jetzt ein wenig klarer?

Ja, aber der Aufruf von "users_with_local_role" ist auch in diesem
Kontext unsinnig. Das Zuweisen von LDAP-Gruppen auf Zope-Rollen, welches
im LDAPUserFolder geschieht, hat nichts mit dem Ursprung dieser von Dir
benutzten API (lokale Rollen) zu tun.

Es gibt auf dem LDAPUserFolder, wie auch auf dem normalen Zope user
folder, keine Methode, um alle Benutzer mit einer bestimmten Rolle zu
bekommen. Wenn man das wirklich braucht muss man über alle Benutzer
iterieren und deren Rollen abfragen, z.B. in Python so:

matches = []
for user in context.acl_users.getUsers():
    if SPECIAL_ROLE in user.getRoles():
        matches.append(users)

Methoden wie getUsers sind jedoch geschützt und können nur von
Manager-Benutzern aufgerufen werden. Das bedeutet, ein Python-Script mit
diesem Code kann dann nur ein Manager ausführen. Diese Beschränkung gilt
jedoch nicht, wenn der Code in einer External Method oder in einem
Zope-Produkt ausgeführt wird. Der Grund für diese Beschränkung ist
einfach: Je nach Anzahl der Benutzer, die bei diesem Aufruf
zurückgegeben werden, kann er sehr lange dauern. Viele
LDAP-Verzeichnisse enthalten tausende Datensätze von Benutzern.

jens

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkuiQBcACgkQRAx5nvEhZLIwVACgqHfHYPDjx3l9jybRKz29r3wf
mSoAn0pk0kF6EOFakKD8sRy8AihDBpTl
=7oQd
-----END PGP SIGNATURE-----



_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.