azkaban-aplcache

Configurable access error message (#1792) What we had for

6/7/2018 3:53:17 PM

Details

diff --git a/az-hdfs-viewer/src/conf/plugin.properties b/az-hdfs-viewer/src/conf/plugin.properties
new file mode 100644
index 0000000..107c519
--- /dev/null
+++ b/az-hdfs-viewer/src/conf/plugin.properties
@@ -0,0 +1,14 @@
+viewer.name=HDFS
+viewer.path=hdfs
+viewer.order=1
+viewer.hidden=false
+viewer.external.classpaths=extlib/*
+viewer.servlet.class=azkaban.viewer.hdfs.HdfsBrowserServlet
+hadoop.security.manager.class=azkaban.security.HadoopSecurityManager_H_1_0
+azkaban.should.proxy=false
+proxy.user=azkaban
+proxy.keytab.location=
+allow.group.proxy=false
+file.max.lines=1000
+#Specifying the error message we want user to get when they don't have permissions
+viewer.access_denied_message=The folder you are trying to access is protected.
diff --git a/az-hdfs-viewer/src/main/java/azkaban/viewer/hdfs/HdfsBrowserServlet.java b/az-hdfs-viewer/src/main/java/azkaban/viewer/hdfs/HdfsBrowserServlet.java
index d85cdb7..66da3ce 100644
--- a/az-hdfs-viewer/src/main/java/azkaban/viewer/hdfs/HdfsBrowserServlet.java
+++ b/az-hdfs-viewer/src/main/java/azkaban/viewer/hdfs/HdfsBrowserServlet.java
@@ -54,6 +54,8 @@ public class HdfsBrowserServlet extends LoginAbstractAzkabanServlet {
       "hdfs.browser.proxy.user";
   private static final String HADOOP_SECURITY_MANAGER_CLASS_PARAM =
       "hadoop.security.manager.class";
+  private static final String HDFSVIEWER_ACCESS_DENIED_MESSAGE = 
+      "viewer.access_denied_message";
 
   private static final int DEFAULT_FILE_MAX_LINES = 1000;
 
@@ -337,7 +339,8 @@ public class HdfsBrowserServlet extends LoginAbstractAzkabanServlet {
       }
       page.add("dirsize", size);
     } catch (AccessControlException e) {
-      page.add("error_message", "Permission denied: " + e.getMessage());
+      String error_message = props.getString(HDFSVIEWER_ACCESS_DENIED_MESSAGE);
+      page.add("error_message", "Permission denied: " + error_message);
       page.add("no_fs", "true");
     } catch (IOException e) {
       page.add("error_message", "Error: " + e.getMessage());