SLING-8258 Provide HTTP API for Sling Clam
* Make additional authorization optional
diff --git a/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServlet.java b/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServlet.java
index 878eeb4..0da7131 100644
--- a/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServlet.java
+++ b/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServlet.java
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.util.Arrays;
+import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
@@ -117,15 +118,18 @@
@Override
protected void doPost(@NotNull final SlingHttpServletRequest request, @NotNull final SlingHttpServletResponse response) throws ServletException, IOException {
- boolean isAuthorized = false;
- try {
- isAuthorized = isAuthorized(request, Arrays.asList(configuration.scan_authorized_groups()));
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- }
- if (!isAuthorized) {
- handleError(response, HttpServletResponse.SC_FORBIDDEN, null);
- return;
+ final List<String> groups = Arrays.asList(configuration.scan_authorized_groups());
+ if (!groups.isEmpty()) {
+ boolean isAuthorized = false;
+ try {
+ isAuthorized = isAuthorized(request, groups);
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ }
+ if (!isAuthorized) {
+ handleError(response, HttpServletResponse.SC_FORBIDDEN, null);
+ return;
+ }
}
final String path;
diff --git a/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServletConfiguration.java b/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServletConfiguration.java
index b8b9b76..348580f 100644
--- a/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServletConfiguration.java
+++ b/src/main/java/org/apache/sling/clam/http/internal/ClamJcrScanServletConfiguration.java
@@ -32,7 +32,7 @@
name = "scan authorized groups",
description = "User groups authorized for scanning"
)
- String[] scan_authorized_groups() default {"clam-scan"};
+ String[] scan_authorized_groups() default {};
@AttributeDefinition(
name = "default property types",