private ReadStatus getReadStatus() { if (readStatus == null) { boolean canRead = repoPermission.isGranted(Permissions.READ_ACCESS_CONTROL); readStatus = (canRead) ? ReadStatus.ALLOW_ALL : ReadStatus.DENY_ALL; } return readStatus; } }
private ReadStatus getReadStatus() { if (readStatus == null) { boolean canRead = repoPermission.isGranted(Permissions.READ_ACCESS_CONTROL); readStatus = (canRead) ? ReadStatus.ALLOW_ALL : ReadStatus.DENY_ALL; } return readStatus; } }
private ReadStatus getReadStatus() { if (readStatus == null) { boolean canRead = repoPermission.isGranted(Permissions.READ_ACCESS_CONTROL); readStatus = (canRead) ? ReadStatus.ALLOW_ALL : ReadStatus.DENY_ALL; } return readStatus; } }
@Override public boolean isGranted(long permissions) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long permissions) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long permissions) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long permissions, @NotNull PropertyState property) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long permissions, @NotNull PropertyState property) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long permissions, @Nonnull PropertyState property) { return repoPermission.isGranted(permissions); }
@Override public boolean isGranted(long repositoryPermissions) { boolean isGranted = false; long coveredPermissions = Permissions.NO_PERMISSION; for (AggregatedPermissionProvider aggregatedPermissionProvider : pps) { long supportedPermissions = aggregatedPermissionProvider.supportedPermissions((Tree) null, null, repositoryPermissions); if (doEvaluate(supportedPermissions)) { RepositoryPermission rp = aggregatedPermissionProvider.getRepositoryPermission(); if (compositionType == AND) { isGranted = rp.isGranted(supportedPermissions); if (!isGranted) { return false; } coveredPermissions |= supportedPermissions; } else { for (long p : Permissions.aggregates(repositoryPermissions)) { if (rp.isGranted(p)) { coveredPermissions |= p; isGranted = true; } } } } } return isGranted && coveredPermissions == repositoryPermissions; } }
@Override public boolean isGranted(long repositoryPermissions) { boolean isGranted = false; long coveredPermissions = Permissions.NO_PERMISSION; for (AggregatedPermissionProvider aggregatedPermissionProvider : pps) { long supportedPermissions = aggregatedPermissionProvider.supportedPermissions((Tree) null, null, repositoryPermissions); if (doEvaluate(supportedPermissions)) { RepositoryPermission rp = aggregatedPermissionProvider.getRepositoryPermission(); if (compositionType == AND) { isGranted = rp.isGranted(supportedPermissions); if (!isGranted) { return false; } coveredPermissions |= supportedPermissions; } else { for (long p : Permissions.aggregates(repositoryPermissions)) { if (rp.isGranted(p)) { coveredPermissions |= p; isGranted = true; } } } } } return isGranted && coveredPermissions == repositoryPermissions; } }
@Override public boolean isGranted(long repositoryPermissions) { boolean isGranted = false; long coveredPermissions = Permissions.NO_PERMISSION; for (AggregatedPermissionProvider aggregatedPermissionProvider : pps) { long supportedPermissions = aggregatedPermissionProvider.supportedPermissions((Tree) null, null, repositoryPermissions); if (doEvaluate(supportedPermissions)) { RepositoryPermission rp = aggregatedPermissionProvider.getRepositoryPermission(); if (compositionType == AND) { isGranted = rp.isGranted(supportedPermissions); if (!isGranted) { return false; } coveredPermissions |= supportedPermissions; } else { for (long p : Permissions.aggregates(repositoryPermissions)) { if (rp.isGranted(p)) { coveredPermissions |= p; isGranted = true; } } } } } return isGranted && coveredPermissions == repositoryPermissions; } }
@Test public void testRepositoryPermissionIsGranted() throws Exception { RepositoryPermission rp = cppTestUser.getRepositoryPermission(); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.PRIVILEGE_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.PRIVILEGE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT | Permissions.PRIVILEGE_MANAGEMENT | Permissions.WORKSPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.ALL)); }
@Test public void testRepositoryPermissionIsGrantedAdmin() throws Exception { RepositoryPermission rp = cppAdminUser.getRepositoryPermission(); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.PRIVILEGE_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.PRIVILEGE_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT|Permissions.PRIVILEGE_MANAGEMENT|Permissions.WORKSPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.ALL)); }
private void checkPermissions(@Nullable Tree tree, long permissions) throws AccessDeniedException { boolean isGranted; if (tree == null) { isGranted = getPermissionProvider().getRepositoryPermission().isGranted(permissions); } else { isGranted = getPermissionProvider().isGranted(tree, null, permissions); } if (!isGranted) { throw new AccessDeniedException("Access denied."); } }
@Test public void testRepositoryPermissionIsGrantedAdminUser() throws Exception { RepositoryPermission rp = cppAdminUser.getRepositoryPermission(); assertTrue(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.PRIVILEGE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT|Permissions.PRIVILEGE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.ALL)); }
private void checkPermissions(@Nullable Tree tree, long permissions) throws AccessDeniedException { boolean isGranted; if (tree == null) { isGranted = getPermissionProvider().getRepositoryPermission().isGranted(permissions); } else { isGranted = getPermissionProvider().isGranted(tree, null, permissions); } if (!isGranted) { throw new AccessDeniedException("Access denied."); } }
@Test public void testRepositoryPermissionsIsGranted() throws Exception { RepositoryPermission rp = cpp.getRepositoryPermission(); assertTrue(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.ALL)); RepositoryPermission rpO = cppO.getRepositoryPermission(); assertTrue(rpO.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertFalse(rpO.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertFalse(rpO.isGranted(Permissions.ALL)); }
@Test public void testRepositoryPermissionsIsGranted() throws Exception { RepositoryPermission rp = cpp.getRepositoryPermission(); assertTrue(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertTrue(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); RepositoryPermission rpO = cpp.getRepositoryPermission(); assertTrue(rpO.isGranted(Permissions.NAMESPACE_MANAGEMENT)); assertTrue(rpO.isGranted(Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); assertTrue(rpO.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.NODE_TYPE_DEFINITION_MANAGEMENT)); }
@Test public void testRepositoryPermissionIsNotGranted() throws Exception { RepositoryPermission rp = createPermissionProvider().getRepositoryPermission(); assertFalse(rp.isGranted(Permissions.PRIVILEGE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.NAMESPACE_MANAGEMENT|Permissions.PRIVILEGE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.WORKSPACE_MANAGEMENT)); assertFalse(rp.isGranted(Permissions.ALL)); assertFalse(rp.isGranted(Permissions.NO_PERMISSION)); }