Search the FirstSpirit Knowledge Base
Hallo,
die Funktion "storeElement.getInheritedPrincipalPermissions()" sollte nach meinem Verständnis nur die Berechtigungen der vererbten Rechte zurückliefern.
Leider liefert diese mir auch eine Berechtigung eines Benutzers der definitiv nur direkt beim Element gesetzt ist und somit nur bei der Funktion "store.getDefinedPrincipalPermissions()" zurückgeliefert werden sollte.
Habe ich hier einen Denkfehler?
FS Version Server: 4.2.454.47473
Beispiel Code:
String debugStr = "";
// In diesem Objekt definierte Rechte.
List definedPrincipalPermissions = storeElement.getDefinedPrincipalPermissions();
Iterator definedPrincipalPermissionsIterator = definedPrincipalPermissions.iterator();
while (definedPrincipalPermissionsIterator.hasNext())
{
Principal principal = (Principal)definedPrincipalPermissionsIterator.next();
debugStr += "definedPrincipal:" + principal.getName() + "\n";
}
// Geerbte Rechte.
List inheritedPrincipalPermissions = storeElement.getInheritedPrincipalPermissions();
Iterator inheritedPrincipalPermissionsIterator = inheritedPrincipalPermissions.iterator();
while (inheritedPrincipalPermissionsIterator.hasNext())
{
Principal principal = (Principal)inheritedPrincipalPermissionsIterator.next();
debugStr += "inheritedPrincipal:" + principal.getName() + "\n";
}
Viele Grüße
Martin Dirlewanger
In der Doku steht: "Returns a list of Principal Principal's for which permissions are defined at this storelement includ...", spich: Es werden die effektiv wirksamen Rechte geliefert. Also definiertes und erwartetes Verhalten. "getDefinedPrincipalPermissions" liefert im Gegensatz dazu die explizit am Knoten definierten Rechte.
Die geerbten Rechte kommt man also über storeElement.getParent().getInheritedPrincipalPermissions().
In der Doku steht: "Returns a list of Principal Principal's for which permissions are defined at this storelement includ...", spich: Es werden die effektiv wirksamen Rechte geliefert. Also definiertes und erwartetes Verhalten. "getDefinedPrincipalPermissions" liefert im Gegensatz dazu die explizit am Knoten definierten Rechte.
Die geerbten Rechte kommt man also über storeElement.getParent().getInheritedPrincipalPermissions().
Vielen Dank