Fix mismatch between canPerform("administrateServer") and canAdministrateSever()

CapabilityControl.canAdministrateServer() has some special logic which
is not invoked when checking the administrate server capability by
CapabilityControl.canPerform("administrateServer").

CapabilityControl.canPerform("administrateServer") is e.g. used from
the GetCapabilities REST endpoint when it checks if a user has the
administrate server capability.

Change-Id: I652fb5b6257df020bbac78d4dd14f04364447500
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
Edwin Kempin
2014-02-04 13:54:14 +01:00
parent 5c59009295
commit 39ea74f787

View File

@@ -204,7 +204,11 @@ public class CapabilityControl {
/** True if the user has this permission. Works only for non labels. */
public boolean canPerform(String permissionName) {
return !access(permissionName).isEmpty();
if (GlobalCapability.ADMINISTRATE_SERVER.equals(permissionName)) {
return canAdministrateServer();
} else {
return !access(permissionName).isEmpty();
}
}
/** The range of permitted values associated with a label permission. */