diff --git a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/im/authentication/SpPermission.java b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/im/authentication/SpPermission.java index e41c3bed8..243434931 100644 --- a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/im/authentication/SpPermission.java +++ b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/im/authentication/SpPermission.java @@ -100,33 +100,39 @@ public final class SpPermission { /** Permission to administrate the system on a global, i.e. tenant independent scale. That includes the deletion of tenants. */ public static final String SYSTEM_ADMIN = "SYSTEM_ADMIN"; - public static final String IMPLY_CREATE = " > " + CREATE_PREFIX; - public static final String IMPLY_READ = " > " + READ_PREFIX; - public static final String IMPLY_UPDATE = " > " + UPDATE_PREFIX; - public static final String IMPLY_DELETE = " > " + DELETE_PREFIX; + public static final String IMPLY = " > "; + public static final String IMPLY_CREATE = IMPLY + CREATE_PREFIX; + public static final String IMPLY_READ = IMPLY + READ_PREFIX; + public static final String IMPLY_UPDATE = IMPLY + UPDATE_PREFIX; + public static final String IMPLY_DELETE = IMPLY + DELETE_PREFIX; + public static final String LINE_BREAK = "\n"; // @formatter:off public static final String TARGET_HIERARCHY = - CREATE_TARGET + IMPLY_READ + TARGET_TYPE + "\n" + - READ_TARGET + IMPLY_READ + TARGET_TYPE + "\n" + - UPDATE_TARGET + IMPLY_READ + TARGET_TYPE + "\n" + - DELETE_TARGET + IMPLY_READ + TARGET_TYPE + "\n"; + CREATE_TARGET + IMPLY_READ + TARGET_TYPE + LINE_BREAK + + READ_TARGET + IMPLY_READ + TARGET_TYPE + LINE_BREAK + + UPDATE_TARGET + IMPLY_READ + TARGET_TYPE + LINE_BREAK + + DELETE_TARGET + IMPLY_READ + TARGET_TYPE + LINE_BREAK; public static final String SOFTWARE_MODULE_HIERARCHY = - CREATE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - READ_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - UPDATE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - DELETE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n"; + CREATE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + READ_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + UPDATE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + DELETE_PREFIX + SOFTWARE_MODULE + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK; public static final String DISTRIBUTION_SET_HIERARCHY = - CREATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - READ_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - UPDATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n" + - DELETE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + "\n"; + CREATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + DISTRIBUTION_SET_TYPE + LINE_BREAK + + READ_PREFIX + DISTRIBUTION_SET + IMPLY_READ + DISTRIBUTION_SET_TYPE + LINE_BREAK + + UPDATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + DISTRIBUTION_SET_TYPE + LINE_BREAK + + DELETE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + DISTRIBUTION_SET_TYPE + LINE_BREAK + + CREATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + READ_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + UPDATE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK + + DELETE_PREFIX + DISTRIBUTION_SET + IMPLY_READ + SOFTWARE_MODULE_TYPE + LINE_BREAK; public static final String TENANT_CONFIGURATION_HIERARCHY = - TENANT_CONFIGURATION + IMPLY_CREATE + TENANT_CONFIGURATION + "\n" + - TENANT_CONFIGURATION + IMPLY_READ + TENANT_CONFIGURATION + "\n" + - TENANT_CONFIGURATION + IMPLY_UPDATE + TENANT_CONFIGURATION + "\n" + - TENANT_CONFIGURATION + IMPLY_DELETE + TENANT_CONFIGURATION + "\n" + - TENANT_CONFIGURATION + " > " + READ_GATEWAY_SECURITY_TOKEN + "\n"; + TENANT_CONFIGURATION + IMPLY_CREATE + TENANT_CONFIGURATION + LINE_BREAK + + TENANT_CONFIGURATION + IMPLY_READ + TENANT_CONFIGURATION + LINE_BREAK + + TENANT_CONFIGURATION + IMPLY_UPDATE + TENANT_CONFIGURATION + LINE_BREAK + + TENANT_CONFIGURATION + IMPLY_DELETE + TENANT_CONFIGURATION + LINE_BREAK + + TENANT_CONFIGURATION + IMPLY + READ_GATEWAY_SECURITY_TOKEN + LINE_BREAK; // @formatter:on private static final SingletonSupplier> ALL_AUTHORITIES = SingletonSupplier.of(() -> {