Domino 9 und frühere Versionen > ND6: Entwicklung

ACL User der Gruppen herausfinden

<< < (2/3) > >>

DAU-in:
weil:

Usage
If the name you specify is listed explicitly in the ACL, then QueryAccessRoles returns the roles for that ACL entry and does not check groups.
If the name you specify is not listed explicitly in the ACL, QueryAccess checks to see if the name is a member of a group in the primary address book where the program is running: on a workstation the Personal Address Book; on a server the Domino Directory.


man/frau für explizite Namen nicht die Rollen erhält, die der User über eine Gruppenzugehörigkeit zugeordnet bekommt.

Grüsse

Dau-in

Glombi:
@UserNamesList und @UserRoles liefern aber die Werte des angemeldeten Users zurück. Damit kann man nicht prüfen, welcher Rolle ein anderer User hat.

Tipp:
Mit
ret_eval =  Evaluate( |@ExpandNameList(@Dbname;"| & user & |")| )
die Gruppen herausfinden, in denen der User steht. @ExpandNameList dröselt auch Untergruppen auf. Dann über alle Einträge in der ACL iterieren und prüfen, ob das im Array ret_eval  vorkommt.
Falls ja, die zugehörigen Rollen des ACL-Eintrages zur Liste hinzufügen.

Andreas

DannyCrown:
mh, hatte ja oben schon geschrieben, dass ich es so gemacht hab, wie Axel gesagt hatte, aber hab gerade mal deine Version ausprobiert, Andreas.

Aber wenn ich ret_eval =  Evaluate( |@ExpandNameList(@Dbname;"| & user & |")| ) eingebe und user hab ich auf session.username gesetzt, gibt er mir auch immer nur diesen session.username zurück. Versteh also nicht so ganz was deine Version überhaupt macht  :-:

DAU-in:
Der User ist in Gruppen enthalten?

Glombi:
Ja sorry, @ExpandNameList liefert die Namen aller User, die in der Gruppe inkl. aller Untergruppen vorhanden ist.

Also so herum....

Pseudo Code:

forall gruppe in db.ACL
ret_eval =  Evaluate( |@ExpandNameList(@Dbname;"| & gruppe & |")| )

'Hier dann mit ArraygetIndex prüfen, ob der betreffende User in der Gruppe ist: Falls ja, die Rollen der Gruppe zur Liste hinzufügen

end froall


Die Lösung von Axel funktioniert nur für den aktuellen User.

Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln