package org.molgenis.util; import org.molgenis.data.MolgenisDataAccessException; import org.molgenis.security.core.Permission; import static java.lang.String.format; import static org.molgenis.security.core.utils.SecurityUtils.currentUserHasRole; public class SecurityDecoratorUtils { public static void validatePermission(String entityName, Permission permission) { String role = format("ROLE_ENTITY_%s_%s", permission.toString(), entityName); if (!currentUserHasRole("ROLE_SU", "ROLE_SYSTEM", role)) { throw new MolgenisDataAccessException( format("No [%s] permission on entity [%s]", permission.toString(), entityName)); } } public static boolean isPermissionValid(String entityName, Permission permission) { String role = format("ROLE_ENTITY_%s_%s", permission.toString(), entityName); return currentUserHasRole("ROLE_SU", "ROLE_SYSTEM", role); } }