diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ConfigurationRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ConfigurationRestRepository.java index afcef4451542..029888a7cc00 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ConfigurationRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ConfigurationRestRepository.java @@ -43,7 +43,7 @@ protected String[] getExposedProperties() { return configurationService.getArrayProperty("rest.properties.exposed"); } - protected String[] getAdminRestrictedProperties() { + protected String[] getAdminExposedProperties() { return configurationService.getArrayProperty("admin.rest.properties.exposed"); } @@ -67,11 +67,13 @@ protected String[] getAdminRestrictedProperties() { @PreAuthorize("permitAll()") public PropertyRest findOne(Context context, String property) { List exposedProperties = Arrays.asList(getExposedProperties()); - List adminRestrictedProperties = Arrays.asList(getAdminRestrictedProperties()); + List adminExposedProperties = Arrays.asList(getAdminExposedProperties()); if (!configurationService.hasProperty(property) || - (adminRestrictedProperties.contains(property) && !isCurrentUserAdmin(context)) || - (!exposedProperties.contains(property) && !isCurrentUserAdmin(context))) { + ( + !exposedProperties.contains(property) && + (!isCurrentUserAdmin(context) || !adminExposedProperties.contains(property)) + )) { throw new ResourceNotFoundException("No such configuration property: " + property); }