API (Script): Auslesen der gesetzten Benutzer & Gruppen Berechtiungen eines StoreElements
Author: Martin_Dirlewan
Publication Date: 10/22/2012 15:30
Hallo,
ich würde gerne die gesetzten Benutzer Berechtigungen die unter "Extras > Rechte ändern" angezeigt werden auslesen.
Leider erhalte ich über die Funktion "storeElement.getPermission(user)" die berechneten Berechtigungen die der Benutzer für dieses Element besitzt. Gibt es eine andere Funktion die ich noch nicht entdeckt habe, die mir genau die gesetzten Rechte wie in der Oberfläche (unter Extras > Rechte ändern) bereistellt?
Hinweis:
// In diesem Objekt definierte Rechte.
List definedPrincipalPermissions = storeElement.getDefinedPrincipalPermissions();
Iterator definedPrincipalPermissionsIterator = definedPrincipalPermissions.iterator();
while (definedPrincipalPermissionsIterator.hasNext())
{
Principal principal = (Principal)definedPrincipalPermissionsIterator.next();
// Hier erhalte ich nur den Namen der Gruppe / Benutzers aber nicht die gesetzten Rechte, diese ermittele ich wie oben beschrieben über getPermission();
}
FS Version Server: 4.2.454.47473
Viele Grüße
Martin Dirlewanger
-
Author: maaroufi - 10/24/2012 14:59
Hallo Martin,
ja das geht auf ähnliche Weise (Group durch User ersetzen, Methode getInheritedPrincipalPermissions() durch getDefinedPrincipalPermissions() ersetzen). Das Interface Permission verfügt über Konstanten (siehe API-Doc von FirstSpirit), die es erlauben zu überprüfen, ob bestimmte Rechte gesetzt sind z.B. die Methode canRead(), desweiteren lässt sich mit Hilfe von Permission.PERMISSIONS ein Array der entsprechenden int-Werte auf die die Rechte abgebildet werden auslesen. Darüber könnte man einfach einen Filter implementieren, der die Rechte Sichtbar, Ändern und Lesen filtert und nur die anderen definierten Rechte anzeigt. Wichtig zu wissen ist auch, dass das Recht 'Ordner löschen' die Rechte Sichtbar, Ändern und Lesen voraussetzt, deswegen sind diese auch automatisch gesetzt.
Freundliche Grüße
Ismail
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar