diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/http/lib/HadoopAuthFilterInitializer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/http/lib/HadoopAuthFilterInitializer.java new file mode 100644 index 0000000..616c820 --- /dev/null +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/http/lib/HadoopAuthFilterInitializer.java @@ -0,0 +1,36 @@ +package org.apache.hadoop.hbase.http.lib; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.http.FilterContainer; +import org.apache.hadoop.hbase.http.FilterInitializer; +import org.apache.hadoop.security.AuthenticationFilterInitializer; +import org.apache.hadoop.security.authentication.server.AuthenticationFilter; + +import java.util.Map; + +/** + * A FilterInitializer which provides support for hbase web ui by + * configuring hbase.http.filter.initializers to + * org.apache.hadoop.hbase.http.lib.HadoopAuthFilterInitializer + * to use hadoop-auth AuthenticationFilter for web authentication. + */ +public class HadoopAuthFilterInitializer extends FilterInitializer { + static final String PREFIX = "hadoop.http.authentication."; + + /** + * Initializes hadoop-auth AuthenticationFilter. + *
+ * Propagates to hadoop-auth AuthenticationFilter configuration all Hadoop + * configuration properties prefixed with "hadoop.http.authentication." + * + * @param container The filter container + * @param conf Configuration for run-time parameters + */ + @Override + public void initFilter(FilterContainer container, Configuration conf) { + Map